阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
【说明】
找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)
【C++程序】
#include<stdio.h>
#define N 100
void main ()
{
int i,j,il,ih,i0,j0,k0,il,j 1,k1;
int j1[N],jh[N];/*第i层平面的行的变化范围,自jl[i]至jh[i]*/
int k[N][N];/*第i层平面中,对应行j,当前的列号值为k[i][j]*/
int p[N], min;/*p[i]=i*i*i*/
i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/
i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/
j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/
k[i1][j1[i1>=1;/*第i层平面中,对应行的列的初值*/
p[1]=1;
do
{
min=p[i1]+p[j1]+p[k1];
i0=i1;j0=j1;k0=k1;
if ( i1==ih ) /*当前候选者在ih平面, 则ih增1*/
{
ih++;
(1);
/*为ih平面设定j的变化范围和对应k值*/
j1[ih]=1;jh[ih]=1;k[ih][1]=1;
}
if ( i1==i1&&j 1==i1&&k1==i1 )
i1++;/*在i1平面最下角点找到候选者,i1增1*/
else
{
if ( k1==1&&jh[i1]<i1 )
{/*在第一列找到候选者, i1平面的行的上界增1*/
(2);
k[i1][jh[i1>=1;
}
if( k1==j1&&j1[i1]<i1 )
else
(3);/*调整i1平面当前行的列号*/
}
i1=i1;/*预定最上平面的最小行的当前列为下一个候选者*/
j1=j1[i1];
k1=k[i1][j1];
for ( i=i1;i<=ih;i++ ) /*寻找最小值所在平面号、行号和列号*/
{
for ( j=j1[i];j<=jh[i];j++ )
if ( p[i]+p[j]+p[k[i][j><(4))
{
i1=i;j 1=j;k1=k[i][j];
}
}
}while ( p[i1]+p[j1]+p[k1]!=min&&(5));
if ( p[i1]+p[j1]+p[k1]==min )
printf ( "%4d=%2d^3+%d^3+%dA3=%2d^3+%d^3+%d^3\n",min,i0,j0,k0,i1,j1,k1 );
else printf ( "The %d is too small.\n",N );
}
阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。
【代码6】
import java.awt.*;
import java.awt.event.*;
public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener
{
static CIUSAMPLE frm=new CIUSAMPLE ();
int x=70,y=60,posX=70,posY=60,dx,dy;
public static void main ( String args[])
{
frm.setTitle ("Dragging a circle");
frm.setSize ( 200,150 );
(1)
frm.addMouseMotionListener ( frm );
frm. setVisible ( true );
}
public void mousePressed ( MouseEvent e )
{
(2)
dy=e.getY () -posY;
}
public void mouseDragged ( MouseEvent e )
{
(3)
y=e.getY () -dy;
if ( dx>0 && dx<50 && dy>0 && dy<50 ) //如果指我落在正方形区域内
{
Graphics g=getGraphics ();
(4)
}
}
public void paint ( Graphics g )
{
g.setColor ( Color. pink ); // 设置绘图颜色为粉红
g.fillOval ( x,y,50,50 ); //以基准点为图形的左上角绘出圆形
(5)
posY=y;
}
public void mouseMoved ( MouseEvent e ) { }
public void mouseReleased ( MouseEvent e ) { }
public void mouseEntered ( MouseEvent e ) { }
public void mouseExited ( MouseEvent e ) { }
public void mouseClicked ( MouseEvent e ) { }
}
阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序将利用文本框txtInput 输入的一行字符串中的所有字母加密,加密,加密结果在文本txtCode中显示。加密方法如下:将每个字母的序号移动5个位置,即“A”->“F”“a”->“f”,“B”->“G”……“Y”->“D”,“Z”->“E”。程序段如下:
[Visual Basic 代码]
Private Sub Form_ Click()
Dim strInput As String*70 ; 输入字符串
Dim Code as String*70 ;加密结果
Dim strTemp As String*1 ;当前处理的字符
Dim i as Integer
Dim Length As Integer ;字符串长度
Dim iAsc As Integer ;第i个字ASCII码
(1) ;取字符串
i=1
Code=“”
(2) ;去掉字符串右边的空格,求真正的长度
Do While(i<=Length)
(3) ;取第i个字符
If (strTemp>="A" And strTemp<="Z',) Then
iAsc= Asc (strTemp)+5
If iAsc>Asc(“Z”)Then iAsc=iAsc-26
Code=Left$(Code,i-1)+Chr$ (iAsc)
ElseIf (strTemp>="a" And strTemp<="z") Then
iAsc=Asc(strTemp)+5
If iAsc>Asc (“z”) TheniAsc=iAsc-26
Code=Left$(Code,i-1)+Chr$(iAsc)
Else
Code=Left$(Code,i-1)+strTemp
End If
(4)
Loop
(5);显示加密结果
End Sub
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
【说明】
找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)
【C++程序】
#include<stdio.h>
#define N 100
void main ()
{
int i,j,il,ih,i0,j0,k0,il,j 1,k1;
int j1[N],jh[N];/*第i层平面的行的变化范围,自jl[i]至jh[i]*/
int k[N][N];/*第i层平面中,对应行j,当前的列号值为k[i][j]*/
int p[N], min;/*p[i]=i*i*i*/
i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/
i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/
j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/
k[i1][j1[i1>=1;/*第i层平面中,对应行的列的初值*/
p[1]=1;
do
{
min=p[i1]+p[j1]+p[k1];
i0=i1;j0=j1;k0=k1;
if ( i1==ih ) /*当前候选者在ih平面, 则ih增1*/
{
ih++;
(1);
/*为ih平面设定j的变化范围和对应k值*/
j1[ih]=1;jh[ih]=1;k[ih][1]=1;
}
if ( i1==i1&&j 1==i1&&k1==i1 )
i1++;/*在i1平面最下角点找到候选者,i1增1*/
else
{
if ( k1==1&&jh[i1]<i1 )
{/*在第一列找到候选者, i1平面的行的上界增1*/
(2);
k[i1][jh[i1>=1;
}
if( k1==j1&&j1[i1]<i1 )
else
(3);/*调整i1平面当前行的列号*/
}
i1=i1;/*预定最上平面的最小行的当前列为下一个候选者*/
j1=j1[i1];
k1=k[i1][j1];
for ( i=i1;i<=ih;i++ ) /*寻找最小值所在平面号、行号和列号*/
{
for ( j=j1[i];j<=jh[i];j++ )
if ( p[i]+p[j]+p[k[i][j><(4))
{
i1=i;j 1=j;k1=k[i][j];
}
}
}while ( p[i1]+p[j1]+p[k1]!=min&&(5));
if ( p[i1]+p[j1]+p[k1]==min )
printf ( "%4d=%2d^3+%d^3+%dA3=%2d^3+%d^3+%d^3\n",min,i0,j0,k0,i1,j1,k1 );
else printf ( "The %d is too small.\n",N );
}
阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。
[程序5.1说明]
下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Ase和Chr函数,Select Case语句中禁用枚举值。
[Visual Basic代码]
Private Sub Form. Load ()
Dim x As String*1
X=(1) (“请输入单个字符”,“字符”)
Select Case UCase ( (2) )
Case (3)。
Print X+“是字母字符”
Case (4)
Print X+ “是数字字符”
Case Else
Print X+“是其他字符”
End Select
[程序5.2说明]
在窗体上画一个名称为Timer1的计时器和一个名称为Labe11的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。
[Visual Basic代码]
Private Sub Fom_Load ()
Timer1.Interval=1000
EndSub
Private Sub Timer1_ timer() (5)
EndSub
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
如图所示的一圆圈上分布6个环,请在每个环中填一个数字,使得从任一环开始按顺时针所得的六位数与按逆时针所得的6位数都为素数。
[函数]
main ( )
{
int i, j, a, b, k;
long m,m1,n,t,u,v;
for ( n=100001;n<999999;n+2 ) /* n穷举所有 6位奇数*/
{
a=0;(1); /* 设 m 为一个顺转6 位数*/
for ( i=1; i<=6; i++ )
{t=-m/1000000;(2);
for ( v=u,m1=0,k=1;k<=5;k++ )
{b=v%10;v=v/10;m1=m1*m1* 10+b;}
(3); /*m1 为相应的逆转 6 位数*/
/* m 为顺圈数, m1 为逆圈数*/
for ( j=2; j<=999;j++ )
if ( m%j==0||.(4)) /* 判别 m,m1 是否为素数*/
{ a= 1; break; }
(5); /*原m 转一环得新顺转数m*/
/*原 m 转一环得新顺圈数m*/
if (a==1) break;}
if ( a==0 )
{prinff ("%1d\n",n ) ;break;}
}
}
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
完成以下中序线索化二叉树的算法。
[函数]
Typedef int datatype;
Typedef struct node {
Int ltag, rtag;
Datatype data;
*lchild,* rchild;
}bithptr;
bithptr pre;
void inthread ( p );
{if
{inthread ( p->lchild );
if ( p->lchild==unll ) (1);
if ( P->RCHILD=NULL) p->rtag=1;
if (2)
{if (3) pre->rchild=p;
if ( p->1tag==1 )(4);
}
INTHREAD ( P->RCHILD );
(5);
}
}
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。
[函数2.1]
fun 1 ( int n )
{
int i;
for ( i=2;i<=n; i++)
{
while (((1))
{
if (n %i==0 )
{ printf ( "%d*",i );
(2)
}
else
break;
}
}
printf ( "%d",n ) ;}
[函数2.2说明]
下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第3、第4、第5只猴子都是这样做的,问海滩上原来最少有多少个桃子?
[函数2.2]
main ( )
{int i, m, j, k, count;
for ( i=4;i<10000;i+=4 )
{ count=0;
(3);
for ( k=0;k<5;k++ )
{
(4);
i=j;
if ( j%4==0 )
(5);
else
break;
}
i=m;
if ( count==4 )
{printf ( "%d\n", count) ;
break;}
}
}
阅读以下说明和流程图,回答问题,将解答填入对应栏内。
[流程图]
[说明]
把指定区间上的所有整数分解质因数,每一整数表示为质因数按从小到大顺序排列的乘积形式。如果被分解的数本身是素数,则予以注明。例如,90=2×3× 3×5,91=素数。
下面的流程图描述了分解质因数的过程。对每一个被分解的整数j,赋值给b(以保持判别运算过程中j不变),用K (从2开始递增1取值)试商,若不能整除,打印输出“*k”,b除以k的商赋给b(b=b/k)后继续用k试商(注意,可能有多个k因数),直至不能整除,k增1继续。
将流程图中的(1)~(5)处补充完整。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)