填空题[说明]
编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
[Java 代码]
import java. io.* ;
public class abc
{
public static void main ({{U}} (1) {{/U}})
{int i, n=10, max=0, min=0, temp=0;
try {
BufferedReader br = new BufferedReader (
new InputStreamReader ( System.in ) );
max = min =Integer. parselnt ( br. readLine ( ) );
}.{{U}} (2) {{/U}}( IOExccption e ) {} ;
for ( i=2 ; i<=n ; i++ ) {
try {
BufferedReader br = new{{U}} (3) {{/U}}(
new InputStreamReader ( System. in ) );
temp ={{U}} (4) {{/U}}( br. readLine ( ));
if (temp>max ) max=temp;
if (temp<min){{U}} (5) {{/U}}
} catch (IOException e ) {};
}
System.out.println ( "max="+max+"/nmin="+min );
}
}
填空题[说明] 阅读下面程序,指出其中代码的错误及原因。 [C++程序] 01 #include <iostream.h> 02 class employee 03 private: 04 short age; 05 float salary ; 06 friend void funcl () ; 07 protected: 08 char* name; 09 public: 10 employee (char* nn, short ag, float salr) ; 11 void print () const ; 12 ~employee () ; 13 ; 14 manage:public employee 15 char* department; 16 //... 17 public: 18 void print () ; 19 void setEmployee () ; 20 //... 21 22 //... 23 void manage::print () 24 25 cout <<"name: " name<<endl; 26 cout<<"salary: "<<salary<<endl; //-- (1) 27 28 void manager::setEmployee(char* dept) 29 30 employee::employee(char* nm,short ag,float salr) ; //-- (2) //-- (3) 31 department=dept; 32 33 void funcl () 34 35 cout <<"department:"<<department 11-- (4) 36 <<",name: "<<name<<endl; 37 //... 38 39 void main () 40 41 employee aemp; //-- (5) 42 manager amngr (" Kng " , 35, 578. 9); 43 //... 44
填空题在Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择:
prg、prj、exe、vbp、form、frm、win、fra、std、bas、vbs、vbm
2.设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S(下划线))”字样的信息。为使热键Alt+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?
3.设某窗口内有一个图像框Imagel,以及两个命令按钮“放大”和“缩小”。单击“放大”按钮就会使该图像框的长和宽都放大10%;单击“缩小”按钮就会使该图像框的长和宽都缩小 10%(该图像框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。
4.为使某个单选按钮初始时默认被选中,在开发时应怎样做?
5.若有语句Tmpval=MsgBox(“非法操作!”,vbOKCancel+vbCritical,“提示”),请简要描述程序运行时弹出的消息框的主要特征。
填空题阅读下列说明、图和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]已知对某载客车辆(Car)进行类建模,如图6-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[Java代码]classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类publicStringname;//表示第几路公交车司机publicDriver(StringdriverName)name=driverName;)//构造函数;classEngine//引擎类publicStringengineNo;//引擎编号publicEngine(StringengineNo)this.engineNo=engineNo;)//构造函数;publicclassCar//汽车类staticfinalint(1)=7;//定义最多载客数staticfinalintMAXWHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody();protectedWheel[]wheels;protectedPassenger[]passengers;publicCar(Driverdriver)//构造函数(2).driver=driver;engine=newEngine("TX6536型号引擎");wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];for(intindex=0;index<MAX_WHEELS;index++)wheels[index]=newWheel();for(intindex=0;index<MAX_PASSENGERS;index++)passengers[index]=null;intgetPassengerNumber()//获取车上乘客数量//此处代码省略return0;voidgetOnPassenger(PassengeraPassenger)//乘客上车//此处代码省略voidrun()//开车if((3))System.out.println("司机尚未上车!");return;//此处代码省略publicstaticvoidmain(Stringargs[])Driverdriver=newDriver("第五路公交车司机");Carcar=newCar((4));for(intindex=0;index<MAX_PASSENGERS;index++)car.getOnPassenger((5)Passenger());car.run();
填空题[说明] 试从含有n个int 型数的数组中删去若干个成分,使剩下的全部成分构成一个不减的子序列。设计算法和编写程序求出数组的不减子序列的长。 [C++ 程序] #include<stdio.h> #define N 100 int b[]=9,8,5,4,3,2,7,6,8,7,5,3,4,5,9,1; int a [N]; #define n sizeofb/sizeofb[0] void main ( ) kit k,i,j; (1) (2) for (i=1;i<n; i++ ) for ( j=k; (3) ; j--); (4) ; /*长为 j+1 的子序列的终元素存储在 a[j+1]*/ if ( (5) k++; /*最长不减子序列长 k 增1*/ printf ( "K = %d/n ",k );
填空题1】【应用说明5.1】本应用程序的窗体中有一个下拉式列表框(名称为Combo1)和两个文本框(名称分别为Txt1和Txt2)。运行时,用户从Combo1的列表中进行选择,程序就会将选中条目的内容以及编号(从0开始)分别在文本框Txt1和Txt2中显示出来。【程序代码5.1】PrivateSubCombo1_Click()Txt1.Text=Combo1.{{U}}(1){{/U}}Txt2.Text=Combo1.{{U}}(2){{/U}}EndSub(注:可供(2)处选择的选项:List,Index,Listlndex,ListCount,Number)【应用说明5.2】本应用程序的运行窗口如图2所示。开发该应用的部分程序代码如下:【程序代码5.2】PrivateSubCmbOp_Click()DimDatalnAsDouble,DataOutasDoubleDataln={{U}}(3){{/U}}SelectCase{{U}}(4){{/U}}Case"取整数部分"DataOut=Int(Dataln)Case"求平方根"IfDataln<0ThenMagBox"负数不能开平方!"ElseDataOut=Sqr(Dataln)EndIfCase"取绝对值"DataOut=Abs(Dataln){{U}}(5){{/U}}TxtOut.Text=str$(DataOut)EndSub
填空题
阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 [说明]
在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类
HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能。己知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的抬头! 这是票据正文! 这是票据的脚注!
--------------------------------------- 这是票据的抬头!
这是票据的脚注! [Java程序代码] public class
SalesTicket{ public void printTicket(){
System.out.println("这是票据正文!");
} } public class Decorator
extends SalesTicket{ SalesTicket ticket;
public Decorator(SalesTicket t){
ticket =t; }
public void printTicket(){
if(ticket!=null)
ticket. printTicket(); }
} public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t){
{{U}} (1) {{/U}};
} public void printTicket(){
System.out.rintln("这是票据的抬头!");
Super.printTicket();
} } public class FootDecorator extends
Decorator{ public FootDecorator(SalesTicket
t){ {{U}} (2)
{{/U}}; } public
void printTicket(){
super.printTicket();
System.out.println("这是票据的脚注!"); }
} public class Main{ public
static void main(String[] args){
Decorator T= new
HeadDecorator({{U}} (3) {{/U}});
T.{{U}} (4) {{/U}};
System.out.println("-----------------------------------------");
T=new FootDecorator({{U}} (5)
{{/U}});
T.printTicket(); } }
填空题[说明] 函数print (BinTreeNode *t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。 [函数] void print (BinTreeNode * t; DateType &x) stack ST;int i,top;top=0; //置空栈 while (t ! =NULL && t->data ! =x || top ! =0) while (t!=NULL && t->data !=x) //寻找值为x的结点 (1) ; ST [top].ptr=t; ST[top].tag=0; (2) ; if(t!=Null && t->data==x) //找到值为x的结点 for(i=1; (3) ; i++) printf("%d", ST [top].ptr->data); else while( (4) ) top--; if(top>0) ST [top] .tag=1; (5) ;
填空题[说明]函数DelXInsY(LinkedListLx,LinkedListLy,intkey1,intkey2,intlen)的功能是,将线性表X中关键码为key1的结点开始的len个结点,按原顺序移至线性表Y中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,Lx为表X的头指针,Ly为表Y的头指针。单链表结点的类型定义如下。typedefstructnodeintkey;structnode*next;*LinkedList;[C程序代码]
填空题[说明]喜迎2012年伦敦夏季奥运会!以下[C程序代码]能将一个给定汉字(例如,奥运会的“会”字)的点阵逆时针旋转90度,并输出旋转前后的点阵数据及字形。图8-8是汉字“会”字的16×16点阵字形,用数字0表示空白位置,用数字1表示非空白位置,“会”字的第1行即可表示成如下的0,1序列。0000000100000000若将它看做一个字的16个位,则“会”字的第1行可以用16进制数的0100来表示。同理,“会”字的第2行可以用16进制数的0240表示,第3行可以用16进制数的0420表示,……。以此类推,用16个双字节整型数即可存放一个汉字点阵字形。“会”字的点阵数据及字形如图8-8的左半部分所示。将一个汉字逆时针旋转90度,就是把该汉字点阵的最右列作为旋转后新点阵的第1行,次最右列作为旋转后新点阵的第2行,……,以形成一个旋转后的点阵字形。图8-8的右半部分就是将“会”字逆时针旋转90度后的点阵数据和字形(提示:读者可将书本顺时针旋转90度,以查看旋转90度后的点阵字形)。在[C程序代码]中,数组old中存放着“会”字的16个双字节整型点阵数据。函数turnleft能将该点阵数据逆时针旋转90度,旋转后的点阵数据存放在数组new中。函数display能将旋转前后的点阵数据加以编辑,用点字符“.”表示值为0的位,用字符“x”表示值为1的位,从而将旋转前后的点阵按行输出其16进制的数据及字形,如图8-8所示。[C程序代码]#include<stdio.h>#defineEMPTY'.'#defineNONEMPTY'x'#defineLEFT0#defineRIGHT1main()staticunsignedold[16]=0x0100,0x0240,0x0420,0x0810,0x1004,0x23c2,0x4001,0x8ff8,0x0100,0x0200,0x0400,0x0800,0x1000,0x2004,0x7ffe,0x0001;unsignednew[16];turnleft(old,new);display(old,new);turnleft(old,new)unsignedold[],new[];introw,k;for(row=0;row<16;row++)for((1);k<16;k++)new[row]|=((old[k]>>(2))display(old,new)unsicned*old,*new;charout[2][17],letter[2];introw,col;letter[0]=EMPTY;letter[1]=NONEMPTY;out[LEFT][16]=out[RIGHT][16]=(4);for(row=0;row<16;row++,old++,new++)for(col=0;coi<16;++col)out[LEFT][col]=letter[((5))out[RIGHT][col]=letter[((6))printf("/n%4x%s",*old,
填空题1说明】 【函数2.1说明】 函数stremp()是比较两个字符串s和t的大小。若s<t函数返回负数;若s=t函数返回0;若s>t,函数返回正数。 【函数2.1】 int strcmp(char * s,char * t) while(* st++; return (2) ; 【程序2.2说明】 在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。 【程序2.2】 #include<stdio.h> #define N 100 int a[N] [N]; void main() int row ,col,max,min,n; /* 输入合法n(n<100),和输入n×n个整数到数组a的代码略*/ for (row =0;row<n;row++) for(max=a[row] [0],col=1;col<n;col++) if( (3) )max=a[row][col]; if( (4) )min=max; else if( (5) )min=max; printf("The min of max numbers is %d/n",min);
填空题【说明】 找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的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/*在i1平面最下角点找到候选者,i1增1*/ else if ( k1==1 k[i1][jh[i1>=1; if( k1==j1/*调整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 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 );
填空题阅读以下说明和Java代码,将解答写在对应栏内。 [说明] 已知类Stock和类JavaMain都定义在JavaMain.java文件中,类stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完整代码,并写出改正错误后程序运行的输出结果。 [Java代码] 01 public class Stock 02 static 03 shares=0; 04 Share_val=0.0; 05 06 private Stock()tgetData(); 07 private Stock(int n,double pr=0) 08 shares=n; 09 share val=pr; 10 getData(); 11 12 public void getData() 13 System.out.print(shares+":"+share_val+" "); 14 15 Drivate int shares; //非静态变量 16 Drivate double share val; //非静态变量 17 ; 18 19 publiC class JavaMain 20 public static void main(String args[]) 21 Stock a=new Stock(); 22 Stock b=new Stock(1,67.5); 23 //其他代码省略,且代码无输出 24 25
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明] 函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 [C函数] int psort(int a[],int n) int i,J,k,P; for(i=0,k=0;i< (1) ;i++) for(j=i+1, (2) ;j<n; j++) if(a[p]>a[j]) p=j; if(p!=i) t=a[p]; a[p]=a[i]; a[i]=t; if( (3) ) k++; else if( (4) <a[i]) (5) =a[i]; return k; int a[]=5,7,5,6,4,3,4,6,7; main() int k,n; for(k=0;k<(Sizeof a)/Sizeof(int);k++) printf("%5d",a[k]); printf ("/n/n"); n=psort(a,(sizeof(a))/sizeof(int)); for(k=0;k<n;k++) printf("%5d",a[k]); printf("/n/n");
填空题【说明】将A,B,C,D,E,F这6个变量排成如图(a)所示的三角形,这6个变量分别取[1,6]中的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。图(b)就是一个解。程序引入变量a,b,c,d,e,f,并让它们分别顺序取1~6的整数,在它们互不相同的条件下,测试由它们排列成的如图(a)所示的三角形三条边上的变量之和是否相等,如果相等即为一种符合要求的排列,就输出它们。【程序】voidmain()inta,b,c,d,e,f;for(a=1;a<=6;a++)for(b=1;b<=6;b++)if((1))continue;for(c==1;c<=6;c++)if((2))continue;for(d=1;d<=6;d++)if((3))continue;for(e=1;e<=6;e++)if((4))continue;f=21-(a+b+c+d+e);if((5))printf("%6d",a);printf("%4d%4d",b,f);printf("%2d%4d%4d",c,d,e);scanf("%*c");/*按回车键,继续找解*/
填空题[说明]
某班有n个同学,学号分别为1,2,…,n。为了每天指派若干个同学值日,他们放弃传统单调的轮留值日,别出心裁采用“定和值日”法:每天所指派值日同学的学号之和须等于其班号m(n<m<n(n+1)/2)并且规定:不允许任何两天值日的同学完全一样。
编程使n个同学按定和m值日(正整数n、m均从键盘输入,约定n<50,m<100),求出可持续的值日天数f(n,m)。运行程序,具体求出f(19,98)的值。
[函数]
main ( )
{
int b, p, i , m, n, k;
static int a[51][101]:
long s=0;
printf (" 请输入学生人数;");
scanf ( "%d",
printf (" 请输入定和值: ");
scanf ( "%d",
a[1][0]=1; a[1][1]=1; /* 数组元素赋初值*/
for ({{U}} (1) {{/U}}; j<=n; j++)
{
for (i=j;{{U}} (2) {{/U}}; i++) /* 计算 a (2, m),…, a(n, m)*/
{
{{U}} (3) {{/U}};
b=0,
for ( k=1 k<j-1; k++
{{U}} (4) {{/U}};
a[j][i]=b; }
{{U}} (5) {{/U}}; } /* 求和s 为所求结果*/
printf (" ");
printf ( "f ( %d, %d ) =%1d/n", n, m, s );
}
填空题[说明]下面的流程图用来说明如何利用数组求前n个质数。要确定一个数m是否是质数,可以用已知求出的质数对m的整除性来确定,对于任意整数m,如果它不能被小于它的质数整除,则m也是质数。注:primes[]是质数表,已经求得的质数的个数为pc。[问题]将流程图的(1)~(5)处补充完整。
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明1] 本程序输入一字符串,并将其中的大写字母变成小写字母。 [C函数1] #include<stdio.h> void main() int i=0; char s[120]; printf("Enter a string./n"); scanf("%s",s); while( (1) ) if( (2) ) s[i]=s[i]-'A'+'a'; i++; printf("%s/n",S); [说明2] 本程序用二分法,在已按字母次序从小到大排序的字符数组list[len]中,查找字符c,若c在数组中,函数返回字符c在数组中的下标,否则返回-1。 [C函数2] int search(char list[],char c,int len) ( intlow=0,high=len-1,k; while( (3) ); k=(10w+high)/2; if( (4) ) return k; else if( (5) )high=k-1; else low=k+1; return -1;
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明1] 函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。 [C函数1] void fun(char*W,char x,int*n) int i,P; p=0; w[*n]=x; while(x>w[p]) (1) ; for(i=*n,i>p;i--)w[i]= (2) ; w[p]=x; ++*n; [说明2] 函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。 [C函数2] void revstr(char*s) char*p,c; if(s==NULL)return; p= (3) ; /*p指向字符串s的最后一个有效字符*/ while(s<p) /*交换并移动指针*/ C=*s; (4) =*p; (5) =c;
填空题[函数2.1说明]
函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。
[函数2.1]
fun1 (int m, int k, int xx [] )
{
inti, j, s=0;
for ( i=m+1; k>0; i++ )
{for (j=2; j<i; j++ )
if ( i %j=0 )
{{U}} (1) {{/U}}
if( i==j )
{
{{U}}(2) {{/U}}
k--; }
}
}
[函数2.2说明]
函数void fun 2 ()的功能是:打印出杨辉三角形(要求打印出10行)。
[函数2.2]
void fun2 ( )
{
int i, j;
int a[10][10];
printf ("/n" );
for (i=0; i<10; i++
{a [i] [0]=1;
{{U}} (3) {{/U}})
for (i=2; i<l0; i++ )
for (j=1; j<i; j++)
{{U}} (4) {{/U}}
for (i=0; i<10; i++ )
{for (j=0; j<=i; j++ )
{{U}} (5) {{/U}}
printf ( "/n" );
}
}
