1、C语言考试典型编程题编号题目要求及代码描述参考答案补充说明1题目要求:有一分数序列:2/1、-3/2、5/3、-8/5、13/8,求这个数列的前m(m=1且m=100)项之和,并将总和存放到变量sum中,并输出sum。(若程序已经定义的变量不够用,考生可以补充定义其它变量)题目已给出的框架如下: #include “” main() int m;float sum; 参考答案如下: #include “” main() int m,i,sign=1;float sum=0,a=2,b=1,t;scanf(“%d”,&m); for(i=1;i=1并且m=100)项之和,并将总和存放到变量sum
2、中,并输出之.(若程序已经定义的变量不够用,考生可以补充定义其它变量).题目已给出的框架如下: #include “” main( ) int m,sum; 参考答案如下: #include “” main() int m,sum=0,i,a=0,b=0,s=1;scanf(“%d”,&m); for(i=1;i=m;i+)sum=sum+s;a=b;b=s;s=a+b; printf(“%d”,sum); 无3题目要求:对于任意给定的正整数m,求这个数的各位数字之和,并存入变量sum中,并输出之。例如:如果m为123,则sum为6。(若程序已经定义的变量不够用,考生可以补充定义其它变量).题
3、目已给出的框架如下: #include “” main( ) int m,sum; 参考答案如下:#include “”main( )int m,sum=0,i,s;scanf(“%d”,&m);while(m!=0)sum=sum+m%10;m=m/10;printf(“%d”,sum);整型数据求位数、及按位提取数字问题。4题目要求:已知10名学生的成绩已存入数组a中,计算前m位同学的平均成绩,并存入变量aver中,并输出之。例如,若m=2,则aver=65。(若程序已经定义的变量不够用,考生可以补充定义其它变量)。题目已给出的框架如下: #include “” main()int m,a
4、10=60,70,77,79,76,83,78,56,85,69; float aver; 参考答案如下:#include “” main()int m,i,a10=60,70,77,79,76,83,78,56,85,69; float aver=0; scanf(“%d”,&m);for(i=0;im;i+) aver=aver+ai;aver=aver/m;printf(“the aver is %f”,aver); 主函数中直接对整型(实型)数组进行统计处理问题,例如:1求平均分;2求最大值最小值;3求高于平均分人数;5题目要求:将输入的一行字符串(=a&ai=z) count+;pr
5、intf(“the count is %d”,count);主函数中直接对字符型数组进行统计处理问题,例如:1求字符串长度;2求字符串中大写小写字母个数;36题目要求:已知10名学生的成绩已存入数组a中,求不低于m分的人数,并存入变量count中,并输出之。例如,若m=60,则count=5;若m=80,则count=2。(若程序已经定义的变量不够用,考生可以补充定义其它变量)。题目已给出的框架如下: #include “” main() int m,a10=34,45,67,82,64,53,67,90,49,56; int count; 参考答案如下:#include “” main()i
6、nt m,a10=34,45,67,82,64,53,67,90,49,56; int count=0,i; scanf(“%d”,&m); for(i=0;i=m) count+; printf(“the count is %d”,count);无7题目要求:从键盘输入的一行字符串(c&b+ca&c+ab) s=*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“yes! and the area=%fn”,area); else printf(“yes!n”);简单数学公式使用的问题:1判断润年;2求方程的解;等等9题目要求:编写一个名为fun
7、的函数将字符串中所有的大写字母转换成小写字母.例如,对于字符串”AAbbCC”,则会被转换成”aabbcc”.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(char w) main() char a20=“AAbbCC”; fun(a); puts(a); 参考答案如下:#include “” fun(char w) int i; for(i=0;wi!=0;i+) if(wi=A&wi=Z) wi=wi+32; main() char a20=“AAbbCC”; fun(a); puts(a); 使用自定义函数处理字符串问题,
8、例如:1大写小写字母转换;2字符串逆序存放;3排序(升序、降序)。10题目要求:编写一个名为fun的函数,其功能为:将数组n中的字符串拷贝至数组m中.例如,在main中调用fun以后,会输出”university”.(不允许用C语言提供的strcpy函数.)(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(char m,char n) main() char a20,b20=“university”; fun(a,b); puts(a); 参考答案如下:#include “” fun(char m,char n) int i; fo
9、r(i=0;ni!=0;i+)mi=ni; mi= 0 ; main() char a20,b20=“university”; fun(a,b); puts(a); 使用自定义函数处理字符串问题,例如:1字符串拷贝;2把字符串a追加到b后。11题目要求: 编写一个名为fun的函数实现一个字符串按逆序存放. 例如:由abcd变为dcba.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(char w) main() char a20=“abcd”; fun(a); puts(a); 参考答案如下:#include “” fun(cha
10、r w) int i,n,t; for(i=0;wi!=0;i+) ; n=i; for(i=0;in/2;i+) t=wi;wi=wn-1-i;wn-1-i=t; main() char a20=“abcd”; fun(a); puts(a); 无12题目要求: 编写一个名为fun的函数实现将数组a中的n个整数依次向后移一位,最后面一位移到最前面的位置.例如,若有a5=0,1,2,3,4;,则调用fun函数后,数组元素的排列顺序为 4,0,1,2,3.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n) ma
11、in() int i, a5=0,1,2,3,4; fun(a,5); for(i=0;i0;i-) wi=wi-1; w0=t; main() int i, a5=0,1,2,3,4; fun(a,5); for(i=0;i=a&wi=A&wi=Z) (*p1)+; else (*p2)+;main() char a20=“aed234efg”;int letter,other;fun(a,&letter,&other);printf(“%d,%dn”,letter,other);使用指针,自定义函数统计字符串问题,例如:1统计字符串中大写/小写字母个数;2统计字符串中字母/符号/数字个数。
12、14题目要求:编写一个名为fun的函数实现计算数组a中n个整数的最大数和最小数.例如,本题的main函数应输出 7,1 .(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n,int *p1,int *p2) main() int a5=1,2,3,4,7, max,min; fun(a,5,&max,&min); printf(“%d,%d”,max,min); 参考答案如下:#include “”fun(int w,int n,int *p1,int *p2)int i; *p1=w0; *p2=w0; fo
13、r(i=1;i*p1) *p1=wi; else if(wi*p2) *p2=wi;main()int a5=1,2,3,4,7, max,min; fun(a,5,&max,&min); printf(“%d,%d”,max,min);使用指针,自定义函数处理整型(实型)数组统计问题。例如:1求平均分;2求最大值最小值;3求高于平均分人数;15题目要求:编写一个名为fun的函数实现向有序数组a(由小到大排列)中插入一个数m后使数组仍然有序.例如,若有a6=10,20,30,40,50;,则调用fun函数插入35后,数组元素的排列顺序为 10,20,30,35,40,50.(不要改动已有的代码
14、,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n,int m) main() int a6=10,20,30,40,50, m,i; m=35; fun(a,5,m); for(i=0;iwn-1)wn=m;else for(i=0;wi=t;i-) wi+1=wi; wt=m;main()int a6=10,20,30,40,50,m,i; m=35; fun(a,5,m); for(i=0;i6;i+) printf(“%d,”,ai);无16题目要求:编写一个名为fun的函数实现计算数组a中的n个学生成绩中小于平均分的人数
15、,平均分按实型数考虑.例如,若有a5=50,60,70,80,90;,则fun函数的返回值应为2.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n) main() int a5=50,60,70,80,90, count; count=fun(a,5); printf(“%d”,count); 参考答案如下:#include “”fun(int w,int n)int i,sum=0,m=0; float avg; for(i=0;in;i+) sum=sum+wi; avg=sum/n; for(i=0;i
16、n;i+) if(wiavg) m+; return m;main() int a5=50,60,70,80,90, count; count=fun(a,5); printf(“%d”,count);使用自定义函数对整型(实型)数组进行统计处理问题,例如:1求平均分;2求最大值最小值;3求高于平均分人数;4统计问题和置换问题结合。17题目要求:编写一个名为fun的函数实现将数组a的n个整数中的最小数与最后面的数互换,而其它元素不变.例如,若有a5=34,1,2,56,4;,则调用fun函数后,数组元素的排列顺序为 34,4,2,56,1.(不要改动已有的代码,仅在fun的函数体中填写若干语句
17、)题目已给出的框架如下: #include “” fun(int w,int n) main() int i, a5=34,1,2,56,4; fun(a,5); for(i=0;i5;i+) printf(“%d,”,ai); 参考答案如下:#include “”fun(int w,int n)int i,min,j; min=w0; for(i=0;in;i+) if(wimin) min=wi; j=i; wj=wn-1; wn-1=min;main() int i, a5=34,1,2,56,4; fun(a,5); for(i=0;i5;i+) printf(“%d,”,ai);最大
18、数和第一个元素互换。18题目要求:编写一个名为fun的函数根据一个学生一学期5门课的成绩,判断学生是否优秀,优秀的条件是单科分都大于85分,如果是优秀则函数返回1,否则返回0.本题的main函数应输出”no good”.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n) main() int k, a5=34,56,72,99,80; k=fun(a,5); if(k=1) printf(“good”); else printf(“no good”); 参考答案如下:#include “”fun(int w,
19、int n)int i,m=1; for(i=0;in;i+) if(wi=a&wi=z) sum=sum+wi; return sum;main() char a10=“aCbD”; int k; k=fun(a); printf(“n%d”,k);使用自定义函数处理字符串统计问题,例如:1字符串中大写/小写/数字的ASCII码值之和;2字符串中数字之和。20题目要求:编写一个名为fun的函数,实现对整型数组元素作如下操作:a1=a1+a0,a2=a2+a1.即每一个元素等于它本身与上一个元素之和,最前面的一个元素值不变.例如,若原来的数组为 8,9,1,0,4,则新数组为8,17,10,1,4.(不要改动已有的代码,仅在fun的函数体中填写若干语句)题目已给出的框架如下: #include “” fun(int w,int n) main() int i,a5=8,9,1,0,4; for(i=0;i5;i+) printf(“%d “,ai); fun(a,5); printf(“n”); for(i=0;i0;i-) wi=wi+wi-1;main()
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1