1、C语言复习范围答案语言复习范围一、选择题(每小题1分,共30分)二、程序填空题(每空1分,共10分)三、程序运行结果题(每小题2分,共10分)四、编程题(每小题5分,共20分).判断100200之间的所有素数并输出。#include #include void main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for (i=2;i=k+1)printf(%d ,m);n=n+1; if(n%10=0) printf(n); printf (n);.将一个33矩阵转置并输出。#includevoid main() int a33,i,
2、j,x; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;ji;j+) x=aji; aji=aij; aij=x; printf(n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%d ,aij); printf(n); .编写一个求两个数最大值的函数,在主函数输3个整数,调用该函数输出其中最大值。#includeint max(int a,int b) return ab?a:b;void main() int a,b,c,z; scanf(%d%d%d,&a,&b,&
3、c);z=max(max(a,b),c); printf(最大的数是%dn,z);.编程程序,判断某一年是否是闰年。#include stdio.hvoid main() int year; scanf(%d,&year); if(year%4=0&year%100!=0)|year%400=0) printf(%d 是闰年。,year); else printf(%d 不是闰年。,year);.编程求。#include stdio.hvoid main() int i,s=0; for(i=1;i=50;i+) s=s+i; for(i=1;i=50;i+) s=s+i*i; printf(
4、%dn,s);.将一个二维数组行和列的元素互换,存到另一个二维数组中。例如: 。#includevoid main() int a23=1,2,3,4,5,6,i,j,b32; for(i=0;i=1;i+) for(j=0;j=2;j+) bji=aij; for(i=0;i=2;i+) for(j=0;j=1;j+) printf(%d ,bij); printf(n); .把100200之间的不能被3整除的数输出。#includevoid main() int i; for(i=101;i=200;i+) if(i%3!=0) printf(%d ,i); .求一个33的整数矩阵主对角线
5、元素之和。#includevoid main() int a33=1,2,3,4,5,6,7,8,9,i,s=0; for(i=0;i=2;i+) s=s+aii; printf(%dn,s); .编写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。#includeint prime(int n) int flag=1,i; for(i=2;i=n/2&flag=1;i+) if(n%i=0)flag=0; return(flag);void main() int n; scanf(%d,&n); if(prime(n) printf(%d is a prime.n,n); e
6、lse printf(%d is not a primen,n);.编程实现顺序输出26个大写英文字母。(A的ASCII为65)#includevoid main() char ch; for(ch=A;ch=Z;ch+) printf(%c ,ch);.求1100之间的奇数和并输出。#includevoid main() int i,s=0; for(i=0;i=100;i+) if(i%2!=0) s=s+i; printf(%d ,s);2编程求出33矩阵副对角线元素之和。#includevoid main() int a33=1,2,3,4,5,6,7,8,9,i,s=0; for(i
7、=0;i=2;i+) s=s+ai2-i; printf(%dn,s); 3编写一个求2个数中最大值Max的函数,然后用这个函数求4个数的最大值。#includeint max(int x,int y) return(xy)?x:y);void main() int a,b,c,d,m,n; scanf(%d%d%d%d,&a,&b,&c,&d); m=max(a,b); n=max(c,d); printf(max=%dn,max(m,n);4. 编程求n!#includevoid main() int i=1,fact=1,n; scanf(%d,&n); while(i=n) fact=
8、fact*i; i+; printf(%d,fact);1编写程序输出100200间的所有素数。#include #include void main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for (i=2;i=k+1)printf(%d ,m);n=n+1; if(n%10=0) printf(n); printf (n);.用数组实现菲波那契数列(即第1项和第二项均为1,从第三项开始每项等于前两项之和)。#include void main() int i; int f10=1,1;for(i=2;i10;i+)fi=fi-2
9、+fi-1;for(i=0;i10;i+) printf(%12d,fi) if(i+1)%5=0) printf(n); .输入一个华氏温度,要求输出摄氏温度。公式为 输出要有文字说明,取2位小数。#include void main()float c,f;scanf(%f,&f);c=(5.0/9.0)*(f-32); printf(c=%5.2fn,c);.编程程序,输入一个整数,打印出它是奇数还是偶数。#includevoid main() int i; scanf(%d,&i); if(i%2!=0) printf(%d是奇数 。,i); else printf(%d是偶数。,i);
10、.试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。)#includevoid main() int i,a,m; for(i=1;i=1000;i+) /*判断i是否完数*/ for(m=0,a=1;a=i/2;a+) if(i%a=0) m=m+a; /*如a是i的因子,则累加到m*/ if (m=i)printf(%4d,i);/*如因子和m与自身相等,则是完数,输出*/ 写一函数,计算x的n次方。#includeint f(int a,int n) i
11、nt i,f=1; for(i=1;i=n;i+) f=f*a; return(f);void main() int x,i; scanf(%d%d,&x,&i); printf(%d,f(x,i);.有一分数序列.求出这个数列的前20项之和。#includevoid main()int i,t,n=20;float a=2,b=1,s=0;for(i=1;i=n;i+) s=s+a/b; t=a; a=a+b;/*将前一项分子与分母之和作为下一项的分子*/ b=t; /*将前一项的分子作为下一项的分母*/ printf(sum=%9.6fn,s);.求一个43数组所有元素中最大的值并输出。#
12、include void main() int a43=1,2,3,4,5,6,7,8,9,10,11,12,i,j,max; max=a00; for(i=0;i=3;i+) for(j=0;j=2;j+) if(maxaij) max=aij; printf(%dn,max);.编写一个求阶乘的函数,在主函数输入一个整数,调用该函数输出该数的阶乘。#includeint fac(int n) int i,f=1; for(i=1;i=n;i+) f=f*i; return(f); void main() int i,a; scanf(%d,&a); printf(%d=%dn,a,fac(
13、a);.编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。#include #include void main() void inverse(char str); char str100; printf(Input string:); scanf(%s,str); /*输入一字符串str*/ inverse(str); /*对数组str中的元素逆序存放*/ printf(Inverse string:%sn,str); /*输出转换后的字符串*/void inverse(char str) /*函数定义*/ char t; int i,j; for(i=0,j=strl
14、en(str);istrlen(str)/2;i+,j-) /*str串中对应字符相交换 */ t=stri; stri=strj-1; strj-1=t; .编写程序,要求输入正整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。#include void main()int a,b,x,y;printf(input a、b:);scanf(%d%d,&a,&b);x=a*ab*b; if(x100) /*若a2b2100*/ y=x/100; /*y为a2b2 百位以上的数字*/ printf(%d,y); else printf(%d,ab);.编程求100999之间的所有
15、水仙花数,即各位数字的立方和恰好等于该数本身的数。#include void main()int i,a,b,c,cnt;for(i=100;i=999;i+)a=i/100;b=i/10-i*10;c=i%10;if(i=a*a*a+b*b*b+c*c*c)printf(“%d,”,i);.输出下三角的“九九乘法表”。#includevoid main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%2d ,j,i,i*j); printf(n);.编写一个求阶乘的函数,在主函数中输入一个整数n调用该函数求出n!。#inclu
16、de int f(int m) int f=1,i; for(i=2;i=m;i+) f=f*i; return(f);void main() int n; scanf(%d,&n); printf(%dn,f(n);.输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母,如果不是,不转换。然后输出最后得到的字符。#includevoid main() char ch; scanf(%c,&ch); if(ch=A&ch=Z) ch=ch+32; printf(%c,ch);.把100200之间的不能被3整除的数输出。#includevoid main() int i; for(i=1
17、01;i=200;i+) if(i%3!=0) printf(%d ,i); .用起泡法对10个数进行排序(升序)。#include #define NUM 10void main() int i,j,t,aNUM; printf(n input 10 numbers:n); for(i=0;iNUM;i+) scanf(%d,&ai); for(j=1;jNUM;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; printf(The sorted numbers :n); for(i=0;iNUM;i+) / 输出数组里每一个元素 printf(%d ,ai
18、); printf(n); .编写一个求两个自然数最大公约数的函数,在主函数中输入两个自然数m,n,调用该函数求最大公约数。#includevoid main() int hcf(int u,int v); int u,v; scanf(%d%d,&u,&v); printf(gong yue shu shi:%dn, hcf(u,v);); int hcf(int u,int v) int t,r; if(uv) t=u;u=v; v=t; while(r=u%v)!=0) u=v;v=r; return(v);.编程求。#includevoid main() int i; float s=
19、0.0f; for(i=1;i=10;i+) s=s+1.0/i; printf(%f,s); .编程将数组a6=3,6,9,5,4,8逆序输出。v #includev void main()v v int i,a6=3,6,9,5,4,8;v for(i=5;i=0;i-)v printf(%d ,ai);v printf(n);v .编程求5! #include void main() int i=2,fact=1; while(i=5) fact=fact*i; i+; printf(%dn,fact); .编写一个求2个数中最小值Min的函数,然后用这个函数求4个数的最小值。#incl
20、udemin(int x,int y) return(xy?y:x);void main() int a,b,c,d,i,j; scanf(%d%d%d%d,&a,&b,&c,&d); i=min(a,b); j=min(c,d); printf(%d,min(i,j);.有3个整数a、b、c,由键盘输入,输出其中最大的数。#include void main() int a,b,c,max; scanf(%d%d%d,&a,&b,&c); max=a; if(maxb) max=b; if(maxc) max=c; printf(%dn,max);.写一函数,计算的值,在主函数中输入一x的值
21、调用该函数求 出相应的函数值并在主函数中输出。#includefloat f(float x) return(x*x+5*x+6);void main() float x; scanf(%f,&x); printf(%fn,f(x);.以下三角形式输出“九九乘法表”。#includevoid main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%2d ,j,i,i*j); printf(n); .求1100之间的能被3整除的数的和并输出。#includevoid main() int i,s=0; for(i=1;i=100;i+) if(i%3=0) s=s+i; printf(%d n,s);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1