【程序填空】功能:求出二维数组中的最小元素值。
#include
/***********FILL***********/
min_value(int m,int n,_____)
{
int i,j,min;
min=array[0][0];
for(i=0;i for(j=0;j /***********FILL***********/ if(min_____array[i][j]) min=array[i][j]; /***********FILL***********/ return(_____); } void main() { int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********FILL***********/ printf("min value is %d\n",_____); } 【参考答案】int array[][4] int array[3][4] 【参考答案】> >= 【参考答案】min 【参考答案】min_value(3,4,a) 【程序填空】功能:输入两个整数x,y,求他们的阶乘和x!+y!。 #include int fun (int ss) { int i,n=1; /**********FILL************/ for(_____;i<=ss;i++) n=n*i; /**********FILL************/ _____ n;} main() {int x,y; scanf("%d,%d",&x,&y); /**********FILL************/ printf("x!+y!=%d",_____); } 【参考答案】i=1 【参考答案】return 【参考答案】fun(x)+fun(y) fun(y)+fun(x) 【程序填空】功能:产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 #include main() { int a[7][7]; int i,j; for (i=0;i<7;i++) for (j=0;j<7;j++) { /**********FILL**********/ if (_____) a[i][j]=1; /**********FILL**********/ else if (i else if (i>j&&i+j<6) a[i][j]=3; /**********FILL**********/ else if (_____) a[i][j]=4; else a[i][j]=5; } for (i=0;i<7;i++) { for (j=0;j<7;j++) printf("%4d",a[i][j]); /**********FILL**********/ _____ } } 【参考答案】i==j||i+j==6 【参考答案】a[i][j]=2 【参考答案】i 【参考答案】printf("\n") 【程序填空】功能:建立一个元素值全为0的二维数组0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 并按以下格式输出。 6 0 0 0 6 0 6 0 6 0 0 0 6 0 0 0 6 0 6 0 6 0 0 0 6 #include void main() { /***********FILL***********/ int a[5][5]={_____},i,j; for(i=0;i<5;i++) { /***********FILL***********/ a[i][i]=_____; /***********FILL***********/ a[i][_____]=6; } for(i=0;i<5;i++) { /***********FILL***********/ for(j=0;j<5;j++)printf("%2d",_____); printf("\n"); } } 【空1参考答案】 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 【空2参考答案】6 【空3参考答案】4-i 【空4参考答案】a[i][j] 【程序填空】写一个函数,求一个字符串的长度,在main 函数中输入字 符串,并输出其长度。 #include main() { int length(char p[]); int len; char str[20]; printf("please input a string:\n"); scanf("%s",str); /***********FILL***********/ len=length(_____); printf("the string has %d characters.",len); } /***********FILL***********/ _____(char p[]) { int n; n=0; while(p[n]!='\0') { /***********FILL***********/ _____; } return n; } 【空1参考答案】str 【空2参考答案】int length length 【空3参考答案】n++ ++n n=n+1 n+=1 n=1+n 【程序填空】从低位开始取出长整型变量s中奇数位上的数,依次构成一 个新数放在t中。 #include "stdio.h" void fun (long s, long *t) { long sl=10; s /= 10; /***********FILL***********/ *t = s _____ 10; while(s>0) { /***********FILL***********/ s = _____; /***********FILL***********/ *t = s%10*sl_____; /***********FILL***********/ sl = sl _____10; } } main() { long s, t; printf("\nPlease enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ld\n", t); } 【空1参考答案】% 【空2参考答案】s/100 【空3参考答案】+ *t 【空4参考答案】* 【程序填空】功能:请编写函数fun,它的功能是:求出1到100之间能被 7或11整除,但不能同时被7和11整除的所有整数并将它们放在 a所指的数组中,通过n返回这些数的个数。 #include int fun (int a[]) { int i,n; /**********FILL************/ _____; for(i=7;i<100;i++) /**********FILL************/ if(((i%7)==0||(i%11)==0)_____(i%77)!=0) a[n++]=i; return n;} main() {int x[1000],m,i; m=fun(x); /**********FILL************/ printf("\n%d\n", _____); for(i=0;i printf("%5d",x[i]); } 【空1】错误 【参考答案】n=0 【参考答案】&& 【参考答案】m 【程序填空】题目:输入一个字符,判别它是否为小写字母,如果是,将它转 换成大写字母,如果不是,不转换,最后输出得到的字符, 请填空。 #include "stdio.h" main() { char ch; scanf("%c",&ch); /***********FILL***********/ ch=(_____)?ch-32 :ch; printf("%c",ch); } 【参考答案】ch>='a'&&ch<='z' 【程序填空】功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t 所指的数组中。 例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。#include #include #include void fun (char s[], char t[]) { int i, d; /***********FILL***********/ d = _____; /***********FILL***********/ for (i = 0; i t[i] = s[i]; for (i = 0; i /***********FILL***********/ t[_____] = s[d-1-i]; /***********FILL***********/ t[_____] ='\0'; } main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("\nThe result is: %s\n", t); } 【参考答案】strlen(s) 【参考答案】i++ ++i i=i+1 i+=1 【参考答案】d+i 【参考答案】2*d i+d d+i d+d 【程序填空】题目:本程序用scanf函数输入字符串"student", 然后输出,完善程序。 #include "stdio.h" main() { /***********FILL***********/ _____s1[10]; /***********FILL***********/ scanf("%s",_____); printf("%s\n",s1); } 【参考答案】char 【参考答案】s1 八 【程序填空】题目:用scanf函数,为字符数组s1输入字符串"ABCDE" 。 #include "stdio.h" main() { /***********FILL***********/ _____ s1[10]; /***********FILL***********/ scanf("%s", _____); } 【参考答案】char 【参考答案】s1 【程序填空】功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。 #include #include "string.h" join(char s1[80],char s2[40]) { int i,j; /***********FILL***********/ _____; /***********FILL***********/ for (i=0; _____'\0';i++) s1[i+j]=s2[i]; /***********FILL***********/ s1[i+j]= _____ ; } main ( ) { char str1[80],str2[40]; gets(str1);gets(str2); puts(str1);puts(str2); /***********FILL***********/ _____; puts(str1); } 【参考答案】j=strlen(s1) for(j=0;s1[j]!='\0';j++); for(j=0;s1[j];j++); 【参考答案】s2[i]!= 【参考答案】'\0' NULL 【参考答案】join(str1,str2) 【程序填空】功能:从键盘输入一个字符串,以!结束,将小写字母全部转换成大写字母,其它字符不变。 #include int fun (char ss) { int n=0; /**********FILL************/ if(ss>='a'&&_____)n=1; return n;} main() {char ch; /**********FILL************/ while((ch=getchar())!=_____) { if(fun(ch)) ch=ch-32; /**********FILL************/ printf("%c",_____);} } 【参考答案】ss<='z' 【参考答案】'!' 【参考答案】ch 【程序填空】功能:任意输入10个数,然后再输入一个数,找出10个数中与这个数 相等的数的个数。 #include main() { /***********FILL***********/ int a[10],i,t,_____; for(i=0;i<10;i++) /***********FILL***********/ scanf("%d",_____); scanf("%d",&t); for(i=0;i<10;i++) if(a[i]==t) /***********FILL***********/ _____; printf("%d",p); } 【参考答案】p=0 【参考答案】&a[i] 【参考答案】p++ ++p p=p+1 p+=1 p=1+p 【程序填空】功能:以下程序的功能如(图1)。#include #include main() { int f; /**********FILL**********/ _____ double t,pi; t=1;pi=t;f=1;n=1.0; /**********FILL**********/ while(_____) { n=n+2; /**********FILL**********/ _____ t=f/n; pi=pi+t; } /**********FILL**********/ _____ printf("pi=%10.6f\n",pi); } 【参考答案】float n double n 【参考答案】fabs(t)>=1e-6 fabs(t)>=0.000001 1e-6<=fabs(t) 0.000001<=fabs(t) 【参考答案】f=-f 【参考答案】pi=pi*4 【程序填空】功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 #include main() { int length(char p[]); int len; char str[20]; printf("please input a string:\n"); scanf("%s",str); /***********FILL***********/ len=length(_____); printf("the string has %d characters.",len); } /***********FILL***********/ _____(char p[]) { int n; n=0; while(p[n]!='\0') { /***********FILL***********/ _____; } return n; } 【参考答案】str 【参考答案】int length length 【参考答案】n++ ++n n=n+1 n+=1 n=1+n 【程序填空】功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中 ,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带 参数的宏,一个用来求s,另一个用来求area。编写程序, 在程序中用带参数的宏求面积area。 #include "stdio.h" #include "math.h" /***********FILL***********/ #_____ S(x,y,z) (x+y+z)/2 #define AREA(s,x,y,z) sqrt(s*(s-x)*(s-y)*(s-z)) main() { float a,b,c,s,area; printf("a,b,c="); /***********FILL***********/ scanf("%f,%f,%f",&a,_____,&c); if(a+b>c&&b+c>a&&c+a>b) { /***********FILL***********/ s=_____; /***********FILL***********/ area=_____; printf("area=%f\n",area); } } 【参考答案】define 【参考答案】&b 【参考答案】S(a,b,c) 【参考答案】AREA(s,a,b,c) 【程序填空】题目:打印100~200间(包括100和200)所有个位数是5且能被3整除 的数字。 #include "stdio.h" main() { int i; /***********FILL***********/ for(i=100;_____;i++) /***********FILL***********/ if(i%3!=0||_____) continue; else printf("\n%5d",i); } 【参考答案】i<=200 【参考答案】i%10!=5 【程序填空】功能:打印以下图形。 ***** ***** ***** ***** ***** #include "stdio.h" main ( ) { char a[5][9]={" "}; int i,j; for (i=0;i<5;i++) /***********FILL***********/ for(j=i; _____;j++) a[i][j]='*'; /***********FILL***********/ for(_____;i<5;i++) { for(j=0;j<9;j++) /***********FILL***********/ printf("%c", _____ ); /***********FILL***********/ _____; } } 【参考答案】j 【参考答案】i=0 【参考答案】a[i][j] 【参考答案】printf("\n") 【程序填空】题目:根据下面程序的输出结果, 完善程序(U 代表空格)。 程序执行结果: a=-15.38UUUU,b=9.16UUUfirst #include "stdio.h" main() { float a=-15.38,b=9.16,c=2.26389,d=-0.343689; /***********FILL***********/ printf ("_____", a,b); } 【参考答案】a=%-10.2f,b=%-7.2ffirst\n a=%-10.2f,b=%-7.2ffirst 【程序填空】功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为 1~100分。选手最后得分为:去掉一个最高分和一个最低分 后其余8个分数的平均值。请编写一个程序实现。 #include "stdio.h" void main() { int score,i,max,min,sum; max=-32768; min=32767; sum=0; for(i=1;i<=10;i++) { printf("Input number %d=",i); /***********FILL***********/ scanf("%d",_____); sum+=score; /***********FILL***********/ if(_____) max=score; /***********FILL***********/ if(_____) min=score; } printf("Canceled max score:%d\nCanceled min score:%d\n",max,min); /***********FILL***********/ printf("Average score:%f\n",_____); } 【参考答案】&score 【参考答案】score>max max 【参考答案】score min>score 【参考答案】(sum-max-min)/8.0 (sum-max-min)/8.0 (float)(sum-max-min)/8 (sum-max-min)/(float)8 【程序填空】功能:利用函数计算连续的数组元素累加和。如果和值是负数则返回0; 否则返回和值。 #include /***********FILL***********/ int max_sum( _____, int n) { int i,s=0; for (i = 0; i < n; i++) s=s+x[i]; if (s < 0) /***********FILL***********/ _____; else /***********FILL***********/ _____; } #include void main(void) { int x[] = { 2, -3, 1, -1, 3, -2, -3, 3}; int n = sizeof(x)/sizeof(int); int i; printf("\nMaximum Consecutive Elements Sum Program"); printf("\n========================================" ); printf("\n\nGiven Array :"); for (i = 0; i < n; i++) printf("%4d", x[i]); printf("\n\nSum is %d", max_sum(x, n)); } 【参考答案】int x[] 【参考答案】return 0 【参考答案】return s 【程序填空】题目:根据下面程序的输出结果, 完善程序。程序执行结果: a=1.382,b=9.163,i=20 #include "stdio.h" main() { float a=1.382,b=9.163; int i=20; /***********FILL***********/ printf ("_____", a,b,i); } 【参考答案】 a=%5.3f,b=%5.3f,i=%d a=%5.3f,b=%5.3f,i=%2d a=%.3f,b=%.3f,i=%2d 【程序填空】功能:打印出如下图案(菱形) * *** ***** ******* ***** *** * #include main() { int i,j,k; /***********FILL***********/ for(i=0;_ ____;i++) { for(j=0;j<=4-i;j++) printf(" "); /***********FILL***********/ for(k=1;k<=_____;k++) printf("*"); printf("\n"); } /***********FILL***********/ for(_____;j<3;j++) { for(k=0;k printf(" "); for(k=0;k<5-2*j;k++) printf("*"); printf("\n"); } } 【参考答案】i<=3 【参考答案】2*i+1 【参考答案】j=0 【程序填空】功能:用数组来处理求Fibonacci数列前20个数.Fibonacci数列为 1 1 2 3 5 8 13 21...... #include /************FILL*********/ void fac(int b[],_____) {int j; for(j=2;j /************FILL*********/ _____; for(j=0;j printf("%8d",b[j]); } main( ) {int f[20]; /***********FILL*********/ _____; fac(f,20); } 【参考答案】int m 【参考答案】b[j]=b[j-1]+b[j-2] 【参考答案】f[0]=f[1]=1 【程序填空】题目:根据下面程序的输出结果, 完善该程序。(用大写字母U代表空格) 程序输出结果: s1=C,ASCIIUisU67 x=65535,y=1234567 #include "stdio.h" main() { long int x=65535,y=1234567; char s1='C'; /***********FILL***********/ _____,s1,s1); /***********FILL***********/ _____,x,y); } 【参考答案】printf("s1=%c,ASCIIUisU%d" 【参考答案】printf("x=%ld,y=%ld" 【程序填空】功能:定义一个4×3的二维数组a,数组元素的值由键盘输入, 输出其中的最大值及所在的行下标及列下标。 #include "stdio.h" void ff(int f[ ][3]) {int i,j,max,hang,lie; /**********FILL************/ max=_ ____,hang=0,lie=0; for(i=0;i<4;i++) for(j=0;j<3;j++) /**********FILL************/ _____){ max=f[i][j];hang=i;lie=j;} printf("max=%d,hang=%d,lie=%d\n",max,hang,lie);} main() { int a[4][3],i,j; printf("给数组元素赋值:\n"); for(i=0;i<4;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); printf("输出4×3的矩阵:\n"); for(i=0;i<4;i++) {for(j=0;j<3;j++) /**********FILL************/ _a[i][j]____); printf("\n");} ff(a);} 【参考答案】f[0][0] 【参考答案】if(max 【参考答案】printf("%4d" 【程序填空】功能:用函数统计某个整数num以内的能同时被3和13整除的数的个数。 #include #include tj(int x) { int i,m; m=0; /***********FILL***********/ for(i=1; _____;i++) /***********FILL***********/ if(i%3==0_____i%13==0) m++; /***********FILL***********/ return __ ___; } main() { int num; scanf("%d",&num); /***********FILL***********/ ____); } 【参考答案】i 【参考答案】&& 【参考答案】m 【参考答案】printf("num=%d" , tj(num) 【程序填空】功能:建立一个元素值全为0的二维数组 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 并按以下格式输出。 6 0 0 0 6 0 6 0 6 0 0 0 6 0 0 0 6 0 6 0 6 0 0 0 6 #include void main() { /***********FILL***********/ int a[5][5]={__ ___},i,j; for(i=0;i<5;i++) { /***********FILL***********/ a[i][i]=__ ___; /***********FILL***********/ a[i][__ ___]=6; } for(i=0;i<5;i++) { /***********FILL***********/ for(j=0;j<5;j++)printf("%2d",__ ___); printf("\n"); } } 【参考答案】0 【参考答案】6 【参考答案】4-i 【参考答案】a[i][j] /【程序填空】功能:任意输入8个数,找出其中的最小数,将最小数与最后位置上 的数互换后,输出这8个数。 #include "stdio.h" main() { int a[8],min,i,t,p; printf("输入8个数:\n"); /***********FILL***********/ for(i=0;_ ____;i++) /***********FILL***********/ scanf("%d",_____); for(i=0;i<8;i++) printf("%d ",a[i]); printf("\n"); /***********FILL***********/ min=__ ___; p=0; for(i=1;i<8;i++) if(min>a[i]) {min=a[i];p=i;} /***********FILL***********/ t=a[7];_ ____;a[p]=t; printf("输出调换之后的数组:"); for(i=0;i<8;i++) printf("%d ",a[i]); } 【参考答案】i<8 【参考答案】&a[i] 【参考答案】a[0] 【参考答案】a[7]=a[p] 【程序填空】功能: 定义一个N×N的二维数组,并在键盘给数组元素赋值。 请编写程序使数组左下半三角元素中的值全部置成0。 并以矩阵形式输出该数组。 #include #include "stdlib.h" #define N 5 void ff(int s[][N]) {int i,j; /**********FILL************/ for(i=0;i /**********FILL************/ for(_____;j /**********FILL************/ if(_____) s[i][j]=0;} main() { int a[N][N],i,j; for(i=0;i for(j=0;j a[i][j]=rand()%10; for(i=0;i { for(j=0;j printf("%5d",a[i][j]); printf("\n");} /**********FILL************/ _ ____;/*函数调用*/ printf("输出变化后的数组:\n"); for(i=0;i { for(j=0;j printf("%5d",a[i][j]); printf("\n"); } } 【参考答案】i++ 【参考答案】j=0 【参考答案】i>=j 【参考答案】ff(a) 【程序填空】功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的 字符按逆序连接到t串的后面。 #include "stdio.h" #include "string.h' void fun (char *s, char *t) { int i, sl; /***********FILL***********/ sl = _ ____; for(i=0; i t[i] = s[i]; for (i=0; i /***********FILL***********/ t[sl+i] = _ ____; /***********FILL***********/ t[sl+i]=__ ___; } main() { char s[100], t[100]; /***********FILL***********/ printf("\nPlease enter string s:"); __ ___("%s",s); fun(s, t); printf("The result is: %s\n", t); } 【参考答案】strlen(s) 【参考答案】s[sl-i-1] 【参考答案】'\0' 【参考答案】scanf 【程序填空】功能:不用第三个变量,实现两个数的对调操作。 #include "stdio.h" main() { int a,b; scanf("%d %d",&a,&b); printf("a=%d,b=%d\n",a,b); /***********FILL***********/ a= _ ____ ; /***********FILL***********/ b= __ ___ ; /***********FILL***********/ a= _ ____ ; printf("a=%d,b=%d\n",a,b); } 【参考答案】a+b 【参考答案】a-b 【参考答案】a-b 【程序填空】题目:本程序用scanf函数,为变量x、y 赋值,完善程序。 #include "stdio.h" main() { double x,y; /***********FILL***********/ scanf("%f,%f", _ ____); x=x+y; printf("\nx=%6.2f",x); } 【参考答案】&x,&y 【程序填空】功能:给定程序的功能是:分别统计字符串中大写字母和小写 字母的个数。 例如,给字符串ss输入: AaaaBBbl23CCccccd(字符串中不要有空格),则输出结果应为: upper=5,lower=9 #include int upper,lower; void ss(char x[ ]) { int i=0; while (x[i]) /**********FILL************/ { if(x[i]>='A'_____x[i]<='Z') upper++; else if(x[i]>='a'&&x[i]<='z') /**********FILL************/ _ ____; /**********FILL************/ __ ___;}} main ( ) { char s[100]; printf("\nPlease a string:"); scanf("%s",s); ss(s); printf("\nupper=%d,lower=%d",upper,lower);} 【参考答案】&& 【参考答案】lower++ 【参考答案】i++ 【程序填空】功能:传入一个整数x,计算如下公式的值 t=l-1/2-1/3 -……-1/x 例如,若输入5,则应输出-0.2833330 #include double fun(int x); main() { int x; printf("Enter x:"); scanf("%d",&x); /***********FILL***********/ printf("The result is %lf\n",__ ___(x)); } /***********FILL***********/ ___ __ fun(int x) { double t=1.0; int i; /***********FILL***********/ for(i=2;i__ ___;i++) t=t-1./i; /***********FILL***********/ _ ____; } 【参考答案】fun 【参考答案】double 【参考答案】<=x 【参考答案】return t 【程序填空】题目:输入一个字符,判别它是否为小写字母,如果是,将它转 换成大写字母,如果不是,不转换,最后输出得到的字符, 请填空。 #include "stdio.h" main() { char ch; scanf("%c",&ch); /***********FILL***********/ ch=(_ ____)?ch-32 :ch; printf("%c",ch); } 【参考答案】ch>='a'&&ch<='z' 【程序填空】功能:对五个学生的成绩求平均分,用数组名作为函数参数。 #include float aver(float a[ ]) /*定义求平均值函数,形参为一浮点型数组名*/ { int i; float av,s=0; /***********FILL***********/ for(i=0;i<_____;i++) s+=a[i]; /***********FILL***********/ av=__ ___; /***********FILL***********/ return _ ____; } void main() { float sco[5],av; int i; printf("\ninput 5 scores:\n"); for(i=0;i<5;i++) scanf("%f",&sco[i]); /***********FILL***********/ av=aver(_____); printf("average score is %5.2f\n",av); } 【参考答案】5 【参考答案】s/5 【参考答案】av 【参考答案】sco 【程序填空】功能:输出9*9口诀。 #include main() {/***********FILL***********/ int i,j,_ ____; printf("\n"); /***********FILL***********/ for (i=1;_ ____;i++) { /***********FILL***********/ for(j=1;j<10;__ ___) { result=i*j; /***********FILL***********/ printf("%d*%d=%-3d",i,j,_ ____); } printf("\n"); } } 【参考答案】result 【参考答案】i<10 【参考答案】j++ 【参考答案】result 【程序填空】功能:将一个数组中的值按逆序重新存放 例如,原来为:9,8,6,5,4,1.要求改为:1,4,5,6,8,9 #include void ttt(int f[],int n) {int i,t; /**********FILL************/ for(i=0;i<_ ____;i++) /**********FILL***********/ {t=f[i]; _ ____;f[n-i-1]=t;} /**********FILL************/ for(_____;i<6;i++) printf ("%4d",f[i]); } main() {int a[6]={9,8,6,5,4,1}; ttt(a,6);} 【参考答案】n/2 【参考答案】f[i]=f[6-i-1] 【参考答案】i=0 【程序填空】功能:任意输入10个数,输出其中的最小数;最小数与最后面的 数互换后,输出10个数。 #include void ft(int ff[],int m) {int j,min,p,t; /**********FILL************/ _____; for(j=1;j /**********FILL************/ if(min>ff[j]){min=ff[j];_ ____;} printf("\nmin=%d,p=%d\n",min,p); /**********FILL************/ t=ff[9]; _____;ff[p]=t; printf("输出调换之后的数组:"); for(j=0;j<10;j++)printf("%d ",ff[j]); } main() {int a[10], i; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf(" %d ",a[i]); ft(a,10);} 【参考答案】min=ff[0] 【参考答案】p=j 【参考答案】ff[9]=ff[p] 【程序填空】功能:请编写函数fun,该函数的功能是:把矩阵A转置, 存放在矩阵B中。 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 #include void fun(int m[][3], int n[][3]) {int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) /**********FILL************/ __ ___;} main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3]; /**********FILL************/ ___ __; printf("输出a数组元素:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",a[i][j]); printf("\n");} /**********FILL************/ fun(_____,t); printf("输出t数组元素:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",t[i][j]); printf("\n");}} 【参考答案】n[j][i]=m[i][j] 【参考答案】int i, j 【参考答案】a 【程序填空】功能:求出二维数组中的最小元素值。 #include /***********FILL***********/ min_ _____) { int i,j,min; min=array[0][0]; for(i=0;i for(j=0;j /***********FILL***********/ if(min_____) min=array[i][j]; /***********FILL***********/ return(_____); } void main() { int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********FILL***********/ _____); } #include #include "string.h" JOIN(s1,s2) char s1[80],s2[40]; { int i,j; /**********FILL**********/ __ for(j=0;s1[j]!='10';j++); for(j=0;s1[j];j++); _ /**********FILL**********/ for (i=0; __ =*(s2+i)!=*(i+s2)!=_'\0';i++) s1[i+j]=s2[i]; /**********FILL**********/ s1[i+j]= __ NULL __; } main ( ) { char str1[80],str2[40]; gets(str1);gets(str2); puts(str1);puts(str2); /**********FILL**********/ _ ____ puts(str1); }一 【参考答案】value(int m,int n, 【参考答案】array[i][j] 【参考答案】printf("min value is %d\n", 【参考答案】j=strlen(s1) 【参考答案】s2[i]! 【参考答案】 '\0' 【参考答案】JOIN(str1,str2) 【程序填空】功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 #include main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); /**********FILL**********/ while(_____) { if(x%2==0) { s1=s1+x; i++; } /**********FILL**********/ _____ { s2=s2+x; j++; } /**********FILL**********/ _____ } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /**********FILL**********/ _____ else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1, av2); } 【参考答案】x!=0 x 【参考答案】else else if(x%2==1) else if(x%2!=0) if(x%2) 【参考答案】scanf("%d",&x) 【参考答案】av2=s2/j 【程序填空】功能:输出Fibonacci数列前20项中的偶数的平均值。 已知前两项的值分别为1,1。从第三项开始后一项是前两项之和。 #include "stdio.h" double fun(int a[ ],int m) {int j,n=0; /***********FILL************/ double _____; for(j=0;j if(a[j]%2==0) {s+=a[j]; /***********FILL************/ _____;} return s/n;} main() { int i; int f[20];double sum=0; f[0]=f[1]=1; for(i=2;i<=19;i++) /***********FILL************/ _____; for(i=0;i<=19;i++) printf("%5d",f[i]); sum=fun(f,20); printf("\nsum=%f\n",sum);} 【参考答案】s=0 【参考答案】n++ n=n+1 【参考答案】f[i]=f[i-1]+f[i-2] f[i]=f[i-2]+f[i-1] 【程序填空】功能:输入三角形的三边a,b,c,三角形的面积公式为: area=sqrt(s*(s-a)*(s-b)*(s-c)).其中,s=(a+b+c)/2, 编写程序,求面积area。 #include #include "math.h" main() { double area; float a,b,c,s; printf("a,b,c="); /***********FILL***********/ scanf("%f,%f,%f",&a,_____,&c); if(a+b>c&&b+c>a&&c+a>b) { /***********FILL***********/ s=_____; /***********FILL***********/ area=_____; printf("area=%f\n",area); } } 【参考答案】&b 【参考答案】(a+b+c)/2 【参考答案】sqrt(s*(s-a)*(s-b)*(s-c)) 【程序填空】题目:将学生成绩80分以上输出字符‘A’,70~79分输出字符‘B’, 60~69分输出字符定为‘C’,60分以下输出字符D。 #include "stdio.h" main() { float grade; scanf("%f,&grade); if(grade>=60.0) /***********FILL***********/ if(_____) if(grade>=80.0) printf("A"); /***********FILL***********/ else _____ else printf("C"); else printf("D"); } 【参考答案】grade>=70.0 【参考答案】printf("B"); 【程序填空】题目:下面程序的输出结果为: a=15,b=10,请完善程序. #include "stdio.h" main() { int a=15,b=10; /***********FILL***********/ printf(_____, a,b); } 【参考答案】"a=%d,b=%d" "a=%2d,b=%2d" 【程序填空】功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 #include int fun(int n) { int i,j,k,m; m=n; /**********FILL**********/ _____ for(i=1;i<4;i++) { /**********FILL**********/ _____ m=(m-j)/10; k=k+j*j*j; } if(k==n) /**********FILL**********/ _____ else return(0);} main() { int i; for(i=100;i<1000;i++) /**********FILL**********/ if(_____==1) printf("%d is ok!\n" ,i); } 【参考答案】k=0 【参考答案】j=m%10 j=m-m/10*10 j=m-10*(m/10) 【参考答案】return(1) 【参考答案】fun(i) 【程序填空】功能:统计字符s在字符串str中出现的次数。 例如:若字符串为"aaas lkaaas",则应输出2。 #include /***********FILL***********/ int fun (char t,_____) { int i,num=0; for(i=0; str[i]; i++) /***********FILL***********/ if(_____) num++; return num; } main() { char str[80],s; printf("input a string:") ; gets(str); printf("输入要查找的字符s:"); /***********FILL***********/ s=_____; printf("%d\n",fun(s,str)); } 【参考答案】char str[] 【参考答案】t==str[i] str[i]==t 【参考答案】getchar() 【程序填空】功能:求两个非负整数的最大公约数和最小公倍数。 #include main() { int m,n,r,p,gcd,lcm; scanf("%d%d",&m,&n); if(m p=m*n; r=m%n; /**********FILL**********/ while(_____) { /**********FILL**********/ m=n;n=r; _____; } /**********FILL**********/ gcd=_____; lcm=p/gcd; /**********FILL**********/ printf("gcd=%d,lcm=%d\n", _____); } 【参考答案】r!=0 0!=r r 【参考答案】r=m%n r=m-m/n*n 【参考答案】n 【参考答案】gcd,lcm n,lcm 【程序填空】题目:输入三个数,由小到大输出。#include "stdio.h" main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); /***********FILL***********/ if(_____) { t=a;a=b;b=t; } /***********FILL***********/ if(_____) { t=a;a=c;c=t; } if(b>c) { t=b;b=c;c=t; } printf("%5.2f,%5.2f,%5.2f",a,b,c); } 【参考答案】a>b b 【参考答案】a>c c #include void main (void) { /***********FILL***********/ _____ string[256]; int i; /***********FILL***********/ for (i = 0; i < 26; _____) string[i] ='a'+i; /***********FILL***********/ string[i] = _____; /***********FILL***********/ printf ("the arrary contains _____\n",string); } 【参考答案】char 【参考答案】i++ i=i+1 ++i i=1+i i+=1 【参考答案】0 '\0' 【参考答案】%s 【程序填空】功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。 #include "stdio.h" /***********FILL***********/ int fun(_____ ) { int m=0, mc=0, j, n; /***********FILL***********/ while (k >= 2 && _____) { /***********FILL***********/ if (k%13 == 0 || _____) { m=m+k; mc++; } k--; } /***********FILL***********/ _____; } main ( ) { printf("%d\n", fun (500)); } 【参考答案】int k 【参考答案】mc < 10 【参考答案】k%17 == 0 !(k%17) k/17*17==k 【参考答案】return m return (m) 【程序填空】题目:根据下面程序的输出结果, 完善程序(U 代表空格)。 程序执行结果: PI=3.14UUUUr=UUU25.33 Area=2015.61 #include "stdio.h" main() { float pi=3.1415,r=25.33; area=pi*r*r; /***********FILL***********/ printf ("_____", pi,r); /***********FILL***********/ printf ("_____", area); } 【参考答案】PI=%-8.2fr=%8.2f\n 【参考答案】Area=%-.2f\n Area=%.2f Area=%7.2f 【程序改错】题目:定义一个3×3的二维数组b,数组元素的值由键盘输入, 输出其中的最小值及所在的行下标。 注意:不可以增加或删除程序行,也不可以更改程序的结构。#include "stdio.h" int hang; int fun(int b[3][3] ); main() { int b[3][3],i,j,min; printf("给数组元素赋值:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&b[i][j]); printf("输出3×3的矩阵:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%4d",b[i][j]); printf("\n"); } min=fun(b); printf("min=%d,hang=%d\n",min,hang); } int fun(int b[3][3]) { /**********ERROR**********/ int i,j,min; for(i=0;i<3;i++) for(j=0;j<3;j++) /**********ERROR**********/ if(min { min=b[i][j]; /**********ERROR**********/ hang=j; } /**********ERROR**********/ return hang; } 【参考答案】int i,j,min=b[0][0]; 【参考答案】if(min>b[i][j]) if(min>=b[i][j]) if(b[i][j] if(b[i][j]<=min) 【参考答案】hang=i; 【参考答案】return min; return (min); 【程序填空】功能:任意输入10个数,输出其中的最大数;最大数与第1位置 上的数互换后,输出10个数。 #include void ft(int ff[ ],int m) {int j,max,p,t; /**********FILL************/ _____; for(j=1;j /**********FILL************/ if(_____){ max=ff[j];p=j;} printf("\nmax=%d,p=%d\n",max,p); /**********FILL************/ t=ff[0]; _____;ff[p]=t; printf("输出调换之后的数组:"); for(j=0;j<10;j++)printf("%d ",ff[j]); } main() {int a[10], i; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf(" %d ",a[i]); ft(a,10);} 【参考答案】max=ff[0],p=0 【参考答案】max 【参考答案】ff[0]=ff[p] 【程序填空】功能:判定用户输入的正整数是否为"回文数",所谓"回文数"是 指正读反读都相同的数。例如:1234321 是回文。 #include int fun(int a[ ],int k) /**********FILL************/ {int i, __ __; for( i=0;i /**********FILL************/ if(_____) {flag=0;break;} return flag;} main() { int f[10],m; long number,n; scanf("%ld",&number); n=number;m=0; do { f[m]=n%10;m=m+1;n=n/10;} /**********FILL************/ while (_____); if(fun(f,m) ) printf("%ld 是回文\n",number); else printf("%ld 不是回文\n",number);} 【参考答案】flag=1 【参考答案】a[i]!=a[k-1-i] 【参考答案】n!=0 【程序填空】题目:根据下面程序的输出结果, 完善程序(大写字母U代表空格)。 程序执行结果: OutputUresult: a1='A',ASCIIUisU65 #include "stdio.h" main() { char a1='A'; /***********FILL***********/ __printf("OutputUresult:\n");___ /***********FILL***********/ printf(_"a1=%c,ASCIIUisU65"____,a1); } 【程序填空】功能:删除一个字符串中的所有小写字母。#include void delnum(char s[]) { int i,j; /***********FILL***********/ for(i=0,j=0; _s[i]!=____'\0' ;i++) /***********FILL***********/ if(s[i]<'a'__||___ s[i]>'z') { /***********FILL***********/ __s[j]=s[i]___; j++; } s[j]='\0'; } main () { char item[100]; printf("\n input a string:\n"); gets(item); /***********FILL***********/ __delnum(item)___; printf("\n%s",item); } 【程序填空】功能:任意输入10个数,输出其中的最大数及其下标 #include void ft(int ff[ ],int m) {/**********FILL************/ int j, p=0,_max=ff[0]____; for(j=1;j /****************FILL************/ if(max printf("max=%d,p=%d\n",max,p); } main() {int a[10], i; for(i=0;i<10;i++) /**********FILL************/ scanf("%d",__&a[i]___); for(i=0;i<10;i++) printf("%5d",a[i]); ft(a,10);} 【程序填空】功能:建立一个如下的二维数组,并按以下格式输出。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 #include void main() { /***********FILL***********/ __int___ a[5][5]={0},i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) { /***********FILL***********/ if(i==j__||___i+j==4) /***********FILL***********/ a[i][j]=__1___; } for(i=0;i<5;i++) { for(j=0;j<5;j++)printf("%2d",a[i][j]); /***********FILL***********/ __printf("\n")___; } } 【程序填空】功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 #include "stdio.h" main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); /***********FILL***********/ while(_x!=0____) { if(x%2==0) {s1=s1+x;i++;} /***********FILL***********/ __else___ { s2=s2+x; j++; } /***********FILL***********/ __scanf("%d",&x)___; } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /***********FILL***********/ _av2=s2/j ; else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1, av2); } 【程序填空】功能:将一个数组中的元素按逆序存放。#include #define N 7 main () { static 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]); /**********FILL**********/ for (k=0;k { s=a[k]; /**********FILL**********/ _____ /**********FILL**********/ _____ } printf("\n the changed array:\n"); for (k=0;k /**********FILL**********/ _____ ("%4d",a[k]); } 答案;k++ a[k]=a[N-k-1] a[N-k-1]=s printf 【程序填空】功能:在主函数中从键盘输入若干个数放入数组中,用0结束输入 并放在最后一个元素中。下列给定程序中,函数fun的功能是: 计算数组元素中值为正数的平均值(不包括0)。 例如:数组中元素的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。 #include double fun(int f[],int m) { int j,n=0; double s=0; for(j=0;j /********** SPACE************/ if(_____){s+=f[j];n++;} /********** SPACE************/ return _____; } main() {int a[100],i=0;double s; scanf("%d",&a[i]); /********** SPACE************/ while(_____) {i++;scanf("%d",&a[i]);} s=fun(a,i); printf("%f",s);} #include void delnum(char s[]) { int i,j; /***********FILL***********/ for(i=0,j=0; _____'\0' ;i++) /***********FILL***********/ if(s[i]<'a'_____ s[i]>'z') { /***********FILL***********/ _____; j++; } s[j]='\0'; } main () { char item[100]; printf("\n input a string:\n"); gets(item); /***********FILL***********/ _____; printf("\n%s",item); } 答案 1.s[i]!= 2.|| 3.s[j]=s[i] 4.delnum(item) 【程序填空】功能:以下程序是用选择法对10个整数按升序排序。 #include /**********FILL**********/ _____ main() { int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf("%d",&a[i]); for(i=0;i { /**********FILL**********/ _____ /**********FILL**********/ for(j=i+1; _____;j++) if(a[j] /**********FILL**********/ if(_____) { t=a[i]; a[i]=a[k]; a[k]=t; } } printf("output the sorted array:\n"); for(i=0;i<=N-1;i++) printf("%5d",a[i]); printf("\n"); } 【参考答案】#define N 10 【参考答案】k=i 【参考答案】j N>j 【参考答案】k!=i i!=k 【程序填空】功能:输出Fibonacci数列前20项中,下标为 偶数的元素之和。 已知前两项的值分别为1,1。从第三项开始后一项是前两项 之和。 #include "stdio.h" main() { /***********FILL***********/ long _____[20]={1,1},i,sum=0; /***********FILL***********/ for(i=2;i<=19;_____) /***********FILL***********/ f[i]=_____; for(i=0;i<=19;i++) /***********FILL***********/ if(_____) sum+=f[i]; printf("sum=%ld\n",sum); } 【参考答案】f 【参考答案】i++ ++i i=i+1 i+=1 i=1+i 【参考答案】f[i-1]+f[i-2] f[i-2]+f[i-1] 【参考答案】i%2==0 【程序填空】功能:计算正方体的体积和表面积,体积用函 数vs完成,表面积 在主函数中完成。 #include float vs(float c) { /***********FILL***********/ float v_____ /***********FILL***********/ v=_____; return v; } main() { float a,s,v; /***********FILL***********/ scanf("%f",_____); /***********FILL***********/ v=_____; s=6*a*a; printf("v=%f s1=%f ",v,s); } 【参考答案】; 【参考答案】c*c*c 【参考答案】&a 【参考答案】vs(a) 【程序填空】功能:根据下述公式求pi值 pi/2=1+(1/3)+(1/3)*(2/5)+(1/3)*(2/5)*(3/7) +(1/3)*(2/5)*(3/7)*(4/9)+……直到最后一项 的值小于任意一个小数为止。 #include #include main() { double s=0.0,t=1.0,eps; int n=1; /***********FILL***********/ scanf("%lf",_____); do { s=s+t; t=t*n/(2*n+1); /***********FILL***********/ _____; }while(t>=eps); /***********FILL***********/ printf("\n%lf",_____); } 【参考答案】&eps 【参考答案】n++ ++n n=n+1 n=1+n n+=1 【参考答案】2*s 【程序填空】功能:求下式的和 1+1/2!+1/3!+1/4!+......+1/n! #include "stdio.h" main() {/***********FILL***********/ float t=1,_____,n,i; scanf("%f",&n); /***********FILL***********/ for(i=1;i<=n;_____) { t=t*i; /***********FILL***********/ sum=sum+_____; } printf("%f\n",sum); } 【参考答案】sum=0 【参考答案】i++ ++i i=i+1 i=1+i i+=1 【参考答案】1/t 1.0/t 1./t 【程序填空】功能:删除一个字符串中的所有数字字符。#include void delnum(char s[]) { int i,j; /***********FILL***********/ for(i=0,j=0; _____'\0' ;i++) /***********FILL***********/ if(s[i]<'0'_____ s[i]>'9') { /***********FILL***********/ _____; j++; } s[j]='\0'; } main () { 二年级C语言程序填空 题答题技巧 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) 程序填空题答题技巧 程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。做填空题时注意掌握答题技巧。 填空题的分类: (一)、数学题目 解题方法: 1.量赋初值,如果这个量以后用到的是加减运算,则赋初值0或者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0; 2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n; 3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; 例子:int i=1; while(i<5){} (二)、字符串题目 1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。While(s[i]!=’\0’) 2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母转变为小写字母 的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ; 3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。 char ch[5]=”abcd” ; char * p; p=ch; p指向哪个字母?*p 代表什么?p指向下一个字母如何操作?p++还是(*p)++ 4、掌握字符数组中的函数的使用的格式。即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof() 、strcat()的使用格式。注意里面的格式中使用的都是指针或数组名。 5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。 (三)、结构体题目 结构体类型的题目 1、看清题目的意思。 2、定义结构体变量时的格式。 struct student *stu1 stu1->name struct student stu2 https://www.wendangku.net/doc/bc887867.html, 3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。得到结构体中学生分数,a— >score[i]。 4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目(重点) 2012年计算机二级C语言程序填空题及答案解析精选 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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 C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535 程序填空 第1题 题目:求出二维数组中的最大元素值。 1). max_value(3,4,a) 2). array[][4] 3). max=array[i][j] 第2题 功能:数组名作为函数参数,求平均成绩。 1). a 2). av 3). &sco[i] 4). sco 第3题 题目:求数组中的最大值。 程序中有4个空,填空使程序完整。 1). &a[i] 2). a[i] 3). int x,int y 或 int y,int x 4). z 或 ( z ) 第4题 题目:找出数组中最大值和此元素的下标,数组元素的值由键盘输入。 1). a + i 或 &a[i] 2). p-a 或 -a+p 3). > 4). *s 第5题 功能:通过函数的递归调用计算阶乘。 1). power(n-1)*n 或 power( n - 1 ) * n 2). &n 3). y 第6题 题目:有5个学生,每个学生有3门课的成绩,从键盘上输入以上数据(包括学生的学号、姓名和3门课的成绩),计算出平均成绩,将原有数据和计算出来的平均成绩存放在磁盘文件“stu”中。 1). *fp 2). k/n 3). &a[i] 4). &b[i] 第7题 题目:下面程序的功能是:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。程序中有4个空,填空使程序完整。 1). char *p1 , *p2 ; 2). p1= str1 + m; 3). *p2++=*p1++; 或 *(p2++)=*(p1++); 4). strcopy(str1,str2,m); 第8题(10.0分)题号:422 题目:文件操作。 1). FILE 2). r 3). fclose(fp) 第9题 题目:输入学生成绩并显示。 1). i++ 或 ++i 或 i=i+1 2). &stu[i] 3). &stu[i] 4). printf 第10题 题目:输入数组,最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。 1). i<9 或 9>i 2). min=p 3). l=*p 4). array[9]=k 第11题 题目:以下程序的功能是删除一个字符串中的所有数字字符。 1). s[i]!= 或 *(s+i)!= 2). || 3). s[j]=s[i] 4). delnum(item) 第12题(10.0分)题号:436 题目:输出两个整数中大的那个数,两个整数由键盘输入。 1). (int *) 2). p1 3). *p1 第13题 题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。 1). str 2). !='\0' 3). str[k]=str[i] 4). str[k]='\0' 第14题 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include 三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x; #include } } #include 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。 fun(int x,int b[]) 面向对象程序设计期末综合练习二(填空题) 填空题 1.C++ 语言是在 _________语言的基础上发展起来的。 2.C++ 语言的编译单位是扩展名为 __________的 __________文件。 3.行尾使用注释的开始标记符为 __________ 。 4.多行注释的开始标记符和结束标记符分别为__________ 和 __________。 5.用于输出表达式值的标准输出流对象是_________。 6.用于从键盘上为变量输入值的标准输入流对象是________。 7.一个完整程序中必须有一个名为 ________的函数。 8.一个函数的函数体就是一条 _________语句。 9.当执行 cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。 10.在 C++程序中包含一个头文件或程序文件的预编译命令为__________。 11.程序中的预处理命令是指以______字符开头的命令。 12.一条表达式语句必须以 ______ 作为结束符。 13.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 ________定义的头文件。 14.使用 #include 命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由 ________和 ________两部分组成。 16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17. C++头文件和源程序文件的扩展名分别为______和 ______。 18.程序文件的编译错误分为 ________和 ________两类。 19.当使用 _______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用 ______保留字表示时,则表示该参数表为空。 21 .从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______ 个参数。 22.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到 ________的开始位置。 23.假定 x=5,y=6,则表达式 x++*++y 的值为 __________ 。 24.假定 x=5,y=6,则表达式x--*--y的值为__________。 25.假定 x=5,y=6,则执行表达式 y*=x++ 计算后, x 和 y 的值分别为 __________和 __________ 。 26.假定 x=5,y=6,则执行表达式 y+=x-- 计算后, x 和 y 的值分别为 __________和 __________ 。 27.C++ 常数 0x145 对应的十进制值为 __________。 28.C++ 常数 0345 对应的十进制值为 __________ 。 29.十进制常数 245 对应的十六进制的 C++表示为 __________。 30.十进制常数 245 对应的八进制的 C++表示为 __________ 。 31.signed char类型的值域范围是________至__________之间的整数。 32.int和float类型的数据分别占用_________和__________个字节。 33.float和double类型的数据分别占用_________和________个字节。 34.bool和char类型的数据分别占用_________和________个字节。 35.unsigned short int和int类型的长度分别为_________和________。 C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 计算机二级C语言题库之程序填空 找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 #include <stdio.h> #include<math.h> void main() { int i,a,b,c; for(i=100;i<=999;i++) { a=i/100; _______1_______ // b=i%100/10; c=i%10; if (________2________) // a*a*a+b*b*b+c*c*c = = i printf("%d is a Armstrong number!\n",i); } } 输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ // n!=0 k++; _____2_____; // n=n/10 } printf("%d\n",k); } 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ // if (n<0) n=-n; while(n!=0) { ______ 2 ______ // s+=n%10; n=n/10; } printf("%d\n",s); 一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 2012-2013学年二学期C语言期末考试试卷(A卷)班级:___________学号:___________姓名:___________得分:___________ 题号一二三四五六七八九十成绩复核得分 阅卷 题目部分,(卷面共有24题,100分,各大题标有题量和总分) 一、填空题(24小题,共100分) 1. 以下程序的功能是计算下面函数的值。请填空。 #include 3. 已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。请填空。 #define SIZE 30 fav1(float s[]) { int k,i; for(k=2,i=0;i 【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include二年级C语言程序填空题答题技巧
2012年计算机二级C语言程序填空题及答案解析精选
C语言程序设计程序填空题库及答案
C语言程序设计试题1
C语言程序填空
C语言程序设计期末考试试题(含答案)
c语言程序填空题1
c语言程序填空题
二级C语言程序填空
C语言程序设计期末练习填空题.docx
C语言程序设计试题第1套(山东建筑大学)
c语言程序填空题(1)
计算机二级C语言题库之程序填空
大学计算机C语言程序设计(填空题)
C语言程序设计模拟试题1附答案
C语言练习题填空题1
c语言程序填空(含答案)