《c语言复习题二.doc》由会员分享,可在线阅读,更多相关《c语言复习题二.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言复习题二一、程序填空题1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。#include void main ( )float x1000,sum=0.0,ave,a;int n=0,i;printf (Enter mark:n );scanf (%f ,&a);while (a=0.0& n1000)sum+ ;xn= ;n+;scanf (%f ,&a);ave= ;printf (Output:n );printf (ave=%fn ,ave);for (i=0;in;i+)if ( ) printf (%fn
2、,xi);2.以下程序将两个数从小到大输出。#include void main ( )float a,b ;scanf ( ,&a,&b); if (ab)t=a; ;b=t;printf (%5.2f,%5.2fn,a,b);3、以下sum函数的功能是计算下列级数之和。 s=1+x+x2/2!+x3/3!+xn/n!请给函数中的各变量正确赋初值。double sum (double x,int n)int i; double a,b,s; for (i=1;i=n;i+)a=a*x;b=b*i;s=s+a/b;return s;4.以下程序统计从终端输入的字符中每个大写字母的个数,num0
3、中统计字母A的个数,其他依次类推。用#号结束输入,请填空。#include #include void main() int num26=0, i; char c; while( !=#) if(isupper(c) num +=1; for(i=0;i26;i+) if(numi)printf(%c:%dn,i+A,numi);5. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。#include void main ( )float x1000,sum=0.0,ave,a;int n=0,i;printf (Enter m
4、ark:n );scanf (%f ,&a);while (a=0.0& n1000)sum+ ;xn= ;n+;scanf (%f ,&a);ave= ;printf (Output:n );printf (ave=%fn ,ave);for (i=0;in;i+)if ( ) printf (%fn ,xi);6. 输出数组s中最大元素的下标。main() int k,p,s=1,-9,7,2,-10,3; for(p=0,k=p;psk) ; printf(“%dn”,k);7.下面程序对输入的字符串中每一个数字出现的次数进行计数。请补全程序。#include void main( )
5、int j,ch, ; for(j=0;j= 0&ch= 9) ; for (j=0;j10;+j) printf(%d: %dn,j,digitj); 8. .在1500中,找出能同时满足用3除余2,用5除余3,用7除余5的所有整数,并按每行5个输出。main()int x, ;for(x=1;x=500;x+)if if ( ) printf(n);printf(%5d,x);n+;9写出递归函数求mn,并在主函数中键盘输入m,n,调用函数求的mn值。main()int power(int x,int y);int m,n;printf(Input m,n:);scanf( );print
6、f(%3d%-d=%-dn,m,n,power(m,n);int power(int x,int y)int p;if ( ) p=1;else p= );return p;10. 将下列33矩阵转置(转置矩阵式将原矩阵的元素按行列互换所形成的矩阵),并输出之。a的转置矩阵147258369矩阵a123456789程序如下:main()int i,k;int a33=1,2,3,4,5,6,7,8,9;int ;for (i=0; ;i+)for (k=0;k3;k+) bik= ;for (i=0;i3;i+)for (k=0;k3;k+) printf(%5d,bik); ;11. 程序功
7、能:输出10100之间的全部素数,每行显示5个。void main() int i,j, ; for (i=11;i=i) ;counter+;if ( ) printf(n);二、读程序,写出运行结果1.main ( ) int x,i ; for (i=1 ; i0) case 1: switch (b0) case 1: printf(“”); break ; case 2: printf(“!”); break ; case 0: switch (c=5) case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; defau
8、lt : printf(“#”) ; break ; default : printf(“&”); printf(“n”);3.写出下面程序的功能。func (int n) int i,j,k; i=n/100; j=n/10-i*10 ; k=n%10 ; if (i*100+j*10+k) = i*i*i+j*j*j+k*k*k) return n ; return 0; main ( ) int n,k ; for (n=100; n1000 ; n+) if (k=func(n) printf(“%d”,k) ;4.main ( ) int i,j; for (i=0;i=0; j-)
9、 if (j+i)%2) j- ; printf(“%d,”,j); continue ; -i ; j- ; printf(“%d,”,j) ; 5. main()int x=6,y,z;x*=9+1;printf(%d ,x-);x+=y=z=10;printf(%d ,x);x=y=z;printf(%d,-x+);输出结果为 。 6main() int x,y,z,max; x=1,y=2,z=3; max=x; if(zy) if(zx) max=z; else if(yx) max=y; printf(MAX=%dn,max);输出结果为_ _。7. main()int i,j,m
10、=0,n=0;for(i=0;i2;i+)for(j=0;j=i) m+;n+;printf(%dn,n);输出结果是_ _。8. #include”stdio.h” void myfun() static int m;m=m+5;printf(“%d ”,m); void main() int n;for(n=1;n5;n+)myfun();输出结果是 _。9. 若输入字符串 science时,下列程序输出为:#define char_c cvoid prochar(char *str,char c) char *p;for (p=str;*p!=0;p+)if (*p!=c)*str+=*
11、p;*str=0;main() char str80;gets(str);prochar(str,char_c);puts(str);10. f(int a)int b=0;static int c=5;b+;c+;printf(%5d%5d%5d,a,b,c);return(a+b+c);main()int a=3,k;for (k=0;k3;k+)printf(%5dn,f(a);11 #include void delch(char *s) int i,j; char *a; as; for(i0,j0;ai!=0 ;i+) if(ai0 & ai9) sjai;j+; sj=0; ma
12、in() char *itema34bc; delch(item); printf(n%s,item); 12main() staticinta5=7,2,8,4,5; staticint*pa5=&a0,&a1,&a2,&a3,&a4;int*p, i; p=pa; for(i=0;i5;i+) printf(“%dt”,*p+2); p+; printf(“n”); 13 intx,y; one() inta,b; a=25,b=10; x=a-b;y=a+b; main() inta,b; a=9,b=5; x=a+b;y=a-b; one(); printf(“%d,%dn”,x,y)
13、; 14 #intclude void main() int i;for (i=1; i5; i+)printf(“%dt%cn”,i, A+i);运行程序输出: 15f(int a)int b=0;static int c=5;b+;c+;printf(%5d%5d%5d,a,b,c);return(a+b+c);main()int a=3,k;for (k=0;k3;k+)printf(%5d,f(a);运行程序输出: 16 #include main() int x3; do printf(%d,x=2); while(!(-x);运行程序输出: 17main() staticinta5
14、=7,2,8,4,5; staticint*pa5=&a0,&a1,&a2,&a3,&a4;int*p, i; p=pa; for(i=0;i5;i+) printf(“%dt”,*p+2); p+; printf(“n”); 运行程序输出: 18 main() inti,j,row,col,max;static int a34=1,2,3,4, 9,8,7,6,-1,-2,0,5; max=a00; for(i=0,i3;i+)for(j=0,jmax) max=aij;row=i;col=j;printf(“max=%d,row=%d,col=%dn”,max,row,col); 运行程序
15、输出: 19.在10200中,找出能同时满足用5除余4,用9除余2的所有整数,并按每行5个输出。main()int x, ;for(x=10;x=200;x+)if if ( ) printf(n);printf(%5d,x);n+;20写出递归函数求整数m的阶乘m!,并在主函数中键盘输入m,调用函数求m! 的值。main()int f(int x);int mprintf(Input m:);scanf( );printf(%d!=%-dn,f(m);int f(int x)int p;if ( ) p=1;else p= );return p;20下列函数sum的返回置为一个整数m的所有因
16、子之和。 int s=1,i;for( ;i=m/2;i+ )if ( ) s=s+i;printf( );22程序功能:输出1001000之间的全部素数,每行显示6个。void main() int i,j, ; for (i=1001;i=i) ;counter+;if ( ) printf(n);三、编程题1. 编程输入整数a和b,若两数都大于100,则输出两数百位以上的数字,否则输出两数之和。2. 编写程序,输出0到100之间的素数和个数。3从键盘输入一个55的整数数矩阵(数值范围在0100之间),计算四周元素的和及两条对角线的和。4. 编写一个程序,输入三条线段的长度,判断这三条线段能否构成一个直角三角形。5. 输入起始年号,输出50年内的闰年。6sum=2+5+8+11+14+,从键盘输入正整数n,求sum的前n项的和。7. 从键盘输入10个整数,将它们按从小到大顺序排列,并输出。8从键盘输入10个整数,求其中的最大值和最小值,并输出。