【程序填空】
1、功能:以下程序的功能如(图1)。用公式求出π的值,保留六位有效数字。
运行结果为:3.141595
#include
#include
main()
{
int f;
/***********SPACE***********/
double n;
double t,pi;
t=1;pi=t;f=1;n=1.0;
/***********SPACE***********/
while(fabs(t)>=1e-6 )
{
n=n+2;
/***********SPACE***********/
f=-f;
t=f/n;
pi=pi+t;
}
/***********SPACE***********/
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
2、功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
#include
main()
{
int m,n,k,i=0;
for(m=100;m<=1000;m++)
{
/***********SPACE***********/
k=0;
n=m;
do
{
/***********SPACE***********/
k=k+n%10 ;
n=n/10;
}
/***********SPACE***********/
while(n!=0);
if (k%15==0)
{
printf("%5d",m);i++;
/***********SPACE***********/
if(i%10==0) printf("\n");
}
}
}
3、功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
#include
main()
{
int m,n,k,i=0;
for(m=100;m<=1000;m++)
{
/***********SPACE***********/
k=0;
n=m;
do
{
/***********SPACE***********/
k=k+n%10 ;
n=n/10;
}
/***********SPACE***********/
while(n!=0);
if (k%15==0)
{
printf("%5d",m);i++;
/***********SPACE***********/
if(i%10==0) printf("\n");
}
}
}
4、功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?
#include
main()
{
int cocks,hens,chicks;
cocks=0;
while(cocks<=19)
{
/***********SPACE***********/
hens=0;
/***********SPACE***********/
while(hens<=33)
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
/***********SPACE***********/
hens++;
}
/***********SPACE***********/
cocks++;
}
}
5、功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。
#include
main()
{
int n,k=1,s=0,m;
for(n=1;n<=100;n++)
{
k=1;
s=0;
/***********SPACE***********/
m=n;
/***********SPACE***********/
while( m!=0 )
{
k*=m%10;
s+=m%10;
/***********SPACE***********/
m=m/10;
}
if(k>s)
printf("%d ",n);
}
}
6、功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。运行结果:
14 28 34 42 56
68 70 84 98 102
112 126 136 140 154
168 170 182 196 204
210 224 238 252 266
272 280 294
#include
#include
main()
{
int i,n,sum;
sum=0;
/***********SPACE***********/
n=0;
/***********SPACE***********/
for(i=1; i<300;i++)
/***********SPACE***********/
if(i%7==0||i%17==0)
if(i%2==0)
{
sum=sum+i;
n++;
printf("%6d",i);
/***********SPACE***********/
if(n%5==0)
printf("\n");
}
printf("\ntotal=%d",sum);
}
7、功能:将一个数组中的元素按逆序存放。#include
#define N 7
main ()
{
int a[N]={12,9,16,5,7,2,1},k,s;
printf("\n the origanal array:\n");
for (k=0;k printf("%4d",a[k]); /***********SPACE***********/ for (k=0;k { s=a[k]; /***********SPACE***********/ a[k]=a[N-k-1] ; /***********SPACE***********/ a[N-k -1]=s ; } printf("\n the changed array:\n"); for (k=0;k /***********SPACE***********/ printf("%4d",a[k]); } 8、功能:将一个数分解到数组中,然后正向,反向输出。 运行结果: Please input an integer:52436 order: 5 2 4 3 6 reverse: 6 3 4 2 5 #include main( ) { int i, j=0, k, a[20]; printf("Please input an integer:"); scanf("%d", &i); k=i; while(k>0) /*将一个数分解到数组a中*/ /***********SPACE***********/ { a[j++]=k%10; k=k/10; } printf("order:\n"); /***********SPACE***********/ for(k=j-1; k>=0; k--) printf("%d\t", a[k]); printf("\n"); printf("reverse:\n"); for(k=0; k printf("%d\t", a[k]); printf("\n"); } 9、功能:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13........... #include main() { /***********SPACE***********/ int fib[15],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++) /***********SPACE***********/ fib[i]=fib[i-2]+fib[i-1]; for(i=0;i<15;i++) { printf("%d\t",fib[i]); /***********SPACE***********/ if ( i%5==4 ) printf("\n"); } } 10、以下程序的功能是:求出数组x中个相邻两个元素的和依次存放到a数组中,然后输出。 例如:输入:1 2 3 4 5 6 7 8 9 10 输出:3 5 7 9 11 13 15 17 19 #include main() {int x[10],a[9],i; for(i=0;i<10;i++) scanf("%d",&x[i]); /***********SPACE***********/ for(i=1;i<10;i++) /***********SPACE***********/ a[i-1]=x[i]+ x[i-1]; for(i=0;i<9;i++) printf("%d ",a[i]); printf("\n"); } 11、功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 #include int fun(int n) { int i,j,k,m; m=n; /***********SPACE***********/ k=0; for(i=1;i<4;i++) { /***********SPACE***********/ j=m%10; m=(m-j)/10; k=k+j*j*j; } if(k==n) /***********SPACE***********/ return(1); else return(0);} main() { int i; for(i=100;i<1000;i++) /***********SPACE***********/ if(fun(i)==1) printf("%d is ok!\n" ,i); } 12、函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若ch中是大写英文字母,则转换成对应的小写英文字母;若是其他字符则保持不变;并转换后的结果作为函数值返回。 #include #include char fun(char ch) { /***********SPACE***********/ if ((ch>='a')&&(ch<='z')) return ch -'a'+'A'; if ( isupper(ch) ) /***********SPACE***********/ return ch-'A'+'a'; /***********SPACE***********/ return ch; } main() { char c1, c2; printf("\nThe result :\n"); c1='w'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); c1='W'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); c1='8'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); } 13、给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。 #include double f1(double x) { return x*x; } double f2(double x, double y) { return x*y; } /***********SPACE***********/ double fun(int i,double x,double y) { if (i==1) /***********SPACE***********/ return f1(x); else /***********SPACE***********/ return f2(x, y); } main() { double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r); } 14、下列给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。 例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。 #include int fun(int x) { int n, s1, s2, s3, t; n=0; t=100; /***********SPACE***********/ while(t<=999) { s1=t%10; /***********SPACE***********/ s2=(t/10)%10; s3=t/100; /***********SPACE***********/ if(s1+s2+s3==x) { printf("%d ",t); n++; } t++; } return n; } main() { int x=-1; while(x<0) { printf("Please input(x>0): "); scanf("%d",&x); } printf("\nThe result is: %d\n",fun(x)); } 15、下列给定程序中,函数fun的功能是:找出100到x(x≤999)之间各位上的数字之和为 15的所有整数,并在屏幕输出;将符合条件的整数的个数作为函数值返回。 #include int fun(int x) { int n, s1, s2, s3, t; /***********SPACE***********/ n=0; t=100; /***********SPACE***********/ while(t<=x) { s1=t%10; s2=(t/10)%10; s3=t/100; if(s1+s2+s3==15) { printf("%d ",t); n++; } /***********SPACE***********/ t++; } return n; } main() { int x=-1; while(x>999||x<0) { printf("Please input(0 printf("\nThe result is: %d\n",fun(x)); } 16、函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。 #include int fun(int n) { int i,j, count=0; printf("\nThe prime number between 3 to %d\n", n); for (i=3; i<=n; i++) { /***********SPACE***********/ for (j=2; j /***********SPACE***********/ if(i%j==0) break; /***********SPACE***********/ if (j>=i) { count++; printf( count%15? "%5d":"\n%5d",i); } } return count; } main() { int n=20, r; r = fun(n); printf("\nThe number of prime is : %d\n", r); } 17、函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。 例如,输入一个整数27638496,函数返回值为64862。 #include unsigned long fun(unsigned long n) { unsigned long x=0; int t; while(n) { t=n%10; /***********SPACE***********/ if(t%2==0) /***********SPACE***********/ x=10*x+t; /***********SPACE***********/ n=n/10; } return x; } main() { unsigned long n=-1; while(n>99999999||n<0) { printf("Please input(0 printf("\nThe result is: %ld\n",fun(n)); } 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。 { int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++; 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i; for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289- 程序填空题 1、 #include } 3、 #include VB程序阅读题与程序填空题综合练习 1、阅读下面程序,当单击窗体之后,窗体上输出的是。 Private Sub Form_Click( ) Dim i As Integer, j As Integer Dim k As Integer k=0 For i = 0 To 10 Step 3 For j = 1 To 10 If j > = 5 Then i = i +4: Exit For j = j + 1 k = k + 1 Next If i > 8 Then Exit For Next Print k End Sub 2、阅读下面的事件过程。单击窗体后,在文本框Text1和Text2中显示的内容分别 是和;若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是和。 Private Sub Form_Click( ) Dim x As Integer, y As Integer x = 1 : y = 0 Do While x < 3 y = y + x 'A语句 x = x + 1 'B语句 Loop Text1.Text = x Text2.Text = y End Sub 3、下面程序段中,k循环共执行次,在窗体上显示的结果是。 Dim b As Integer, k As Integer b = 1 For k =1 To 5 b = b * k If b > = 15 Then Exit For Else k = k + 1 End If Next k Print k, b 4、以下是按钮cmdl的Click事件过程,求1~100之间的所有质数。质数的个数显示在窗 体上,在划线处填上缺少的内容。 Private Sub cmdl_Click( ) Dim intNum As Integer, int1 As Integer, int2 As Integer intNum = 0 For int1 = For int2 = 2 To int1 \2 If (int1 Mod int2) = 0 Then intNum=1 End If Next If sNum = sNum + 1 End If Next Print End Sub 5、若命令按钮的名称为CmdExit,程序要求单击以上命令按钮时,程序停止运行。请在画线处中填入适当的内容。 Private Sub CmdExit_ ( ) End Sub 6、下面的事件过程判断文本框txt1中输入的数所在区间,并在文本框txt2中输出判断结果。在画线处填入正确的内容。 Private Sub Comandl_Click( ) Dim int1 As Integer int1 =val (txt1.Text) Select Case int1 Case txt2.Text = "值为0" Case txt2.Text = "值在1和10之间(包括1和10)" Case txt2.Text = "值大于10" 第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include 第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include 模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0; while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况 #include 数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)======= 程序填空题一 1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c. #include < stodio.h> #define M6 #define N5 main( ) {int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10} int c[M+N] int i ,j, k; i=j=k=0 while( 1 ) if a[i] printf(%dxt,c[k]; ) 其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。 答案: 1:i 解:(1)(*f)(x+y)/(*g)(y-x) (2)cos,sin,a,b [解析]本题考察的是函数的声明。要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。(*f)和(*g)用来表示sin或cos,参数x 和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(x+y)/ (*g)(y-x)。 程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) { char ch; ch=getchar(); if( ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z?) printf("It is an English character\n"); else if( ch>=?0?&&ch<=?9?) printf("It is a digit character\n"); else if( ch== …?) printf("It is a space character\n"); else printf("It is other character\n"); } 2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。 void main() { int n,i=0,j=0; printf(“input a integer,0 for end\n”); scanf(“%d”,&n); while (n或n!=0 ) { if(n>0) i=i+1 ; else j=j+1; } printf(“i=%4d,j=%4d\n”,i,j); } 3.编程计算1+3+5+……+101的值 #include c语言程序填空题及答案 程序填空题 1、 #include printf("%d\n",k); } 2、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include '【程序填空】 '------------------------------------------------------- '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数' 从小到大排序。 '------------------------------------------------------- Private Sub Form_Click() Const n = 15 Dim a(1 To n) As Integer, work As Boolean Dim i As Integer, j As Integer, x As Integer Randomize For i = 1 To n a(i) = Int((90 * Rnd) + 10) Next i For i = 1 To n Print a(i); Next i Print '**********SPACE********** For i = n To 2 【?】step-1 work = True For j = 1 To i - 1 If a(j) > a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x '**********SPACE********** 【?】work=False End If Next j '**********SPACE********** If work Then 【?】Exit For Next i For i = 1 To n Print a(i); Next i End Sub 答案 1). Step -1 2). work = False 或work=0 或not work = true 3). Exit For '功能:以下程序用于判断一个正整数(≥3)是否为素数。 '------------------------------------------------------- 2005届计算机专业《VFP》程序填空与阅读试卷汇编一 班级姓名 一、程序填空(每空3分,共27分) 1.有一商场的商品销售数据库XS.DBF,其记录如下: 记录号商品名单价数量总价 1 电冰箱2000 3 6000 2 彩电1800 5 9000 3 电冰箱2010 1 2010 4 空调机1600 2 3200 5 彩电1900 2 3800 …… 下面程序用于分类统计各种商品总的销售数量和总的销售额(总价),并计算出平均 销售单价。 SET TALK OFF USE XS INDE ON __________________ TO SY ____________________ TO TJK USE TJK REPL _____________________ LIST USE SET TALK ON 2.任意输入两个正整数X和Y,求X与Y的最小公倍数。 SET TALK OFF INPUT "X="TO X INPUT "Y="TO Y IF X>Y T=X X=Y Y=T ENDI N=Y DO WHILE N<=__________________ IF ________________ EXIT ENDI N=_______________________ ENDDO ?"最小公倍数是:"+STR(N) SET TALK ON 3.现有一数据库CJ.DBF,该数据库文件中仅有一个数值型字段"数据",且无记录。要求键盘输入十个数,将这些数保存到CJ.DBF的"数据"字段中,并由大到小显示出来。 SET TALK OFF USE CJ K=1 DO WHIL K<=10 _________________ @K+5,1 SAY "第"+STR(K,2)+"数是:" GET 数据 READ __________________ ENDD INDE ON _______________ TO TMP LIST USE SET TALK ON 二、程序填空(每空3分,共18分) 1.男子100米短跑成绩已录入数据库Male100.DBF,现要求将前3名运动员的成绩转入获奖数据库gainer.dbf和gainer.txt文件中。阅读下列程序, 填写空位处的代码,使程序能正确有效地实现上述要求。 set Talk off clear @14,20 say "请稍候…" use Male100 ___________ on 成绩/D To temp use Temp Copy _________________ To gainer.dbf use gainer copy to gainer.txt _________________ use @14,20 say "操作完毕!" Return 2.现有一户籍数据库People.DBF,存贮有该地区各位公民的档案资料,现要求按"出生日期"字段(日期型),以索引查询方式,快速查找并显示所有与指定出生日期相同的记录。 Set Talk off Set Safe off Clear use people Index On 出生日期To Ipeople Born=" / / " @14,20 Say "请输入查询的出生日期:" Get Bom picture _________ Read ________________________ Do while .NOT.EOF( ).AND. _________________ Display Skip Enddo 第一套 1.完成程序填空,实现求两数最小公倍数 #include 《JA V A程序设计》复习题之(三)阅读程序题 三、程序阅读题 1.阅读以下程序 import java.io.*; public class Reverse2 { public static void main(String args[ ]){ int i,n=10; int a[] = new int[10]; try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine() ); } catch (IOException e) { }; for (i= n-1; i >= 0; i=i-2) System.out.print(a[i]+" "); System.out.println(); } } 请写出该程序的功能: 该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。 2.阅读以下程序 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 }; for ( i = 0 ; i< a.length ; i++ ) if (i % 3 == 0) s += a[i]; System.out.println("s=" + s); } } 请写出该程序的输出结果: s=260 3、阅读以下程序: import java.io.*; public class TestRandomAccess { public static void main(String args[]) { int data_arr[]={65,66,56,23,27,1,43,65,4,99}; try { RandomAccessFile randf=new RandomAccessFile("temp.dat","rw"); for (int i=0; iC语言程序的设计填空题及答案复习用
程序阅读及填空(答案)
C语言程序设计程序填空题库及答案
程序填空题
C语言程序填空题及答案
vb程序阅读题与填空题
模块化程序设计练习题及答案
c语言程序填空题完整
-程序填空部分试题及答案
循环程序设计习题及答案
程序填空
湖南省计算机二级3[1].(6分)程序阅读填空
C语言-程序填空练习题
c语言程序填空题及答案
程序填空
VFP程序填空与阅读试题
c++程序填空十套
Java复习题(三)阅读程序题_软件