《2022年C语言考试典型编程题.pdf》由会员分享,可在线阅读,更多相关《2022年C语言考试典型编程题.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编号题目要求及代码描述参考答案补充说明1题目要求:有一分数序列:2/1 、-3/2 、5/3 、 -8/5 、 13/8 ,求这个数列的前m(m=1且 m=100)项之和,并将总和存放到变量sum中,并输出 sum 。(若程序已经定义的变量不够用,考生可以补充定义其它变量)题目已给出的框架如下: # include“”main()intm;floatsum;参考答案如下: # include“”main()intm,i,sign=1;floatsum=0,a=2,b=1,t;scanf( “% d”, &m);for(i=1;i=1并且 m=100)项之和 , 并将总和存放到变量 sum中,
2、并输出之 .( 若程序已经定义的变量不够用, 考生可以补充定义其它变量) .题目已给出的框架如下: # include“”main()intm,sum;参考答案如下: # include“”main()intm,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;无精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - printf(“ % d”,su
3、m);3题目要求:对于任意给定的正整数m,求这个数的各位数字之和,并存入变量sum中,并输出之。 例如:如果 m为 123,则 sum为 6。( 若程序已经定义的变量不够用, 考生可以补充定义其它变量) .题目已给出的框架如下: # include“”main()intm,sum;参考答案如下:#include“”main()intm,sum=0,i,s;scanf( “% d”, &m);while(m ! =0)sum=sum+m % 10;m=m/10;printf(“ % d”,sum);整型数据求位数、及按位提取数字问题。4题目要求:已知10 名学生的成绩已存入数组 a 中,计算前
4、m位同学的平均成绩,并存入变量 aver 中,并输出之。例如,若 m=2 ,则 aver=65 。( 若程序已经定义的变量不够用, 考生可以补充定义其它变量) 。题目已给出的框架如下: # include“”main()intm,a 10 =60,70,77,79,76,83,78,56,85,6参考答案如下:#include“”main()intm,i,a 10 =60,70,77,79,76,83,78,56,85,69;floataver=0;scanf( “ % d”,&m);for(i=0;im;i+)aver=aver+a i ;主函数中直接对整型(实型) 数组进行统计处理问题,例
5、如:1 求平均分;2 求最大值最小值;3 求高于平均分人数;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - 9;floataver;aver=aver/m;printf(“theaveris %f ”,aver);5题目要求:将输入的一行字符串(= a&a i = z )count+;printf(“thecountis %d”,count);主函数中直接对字符型数组进行统计处理问题,例如:1 求字符串长度;2 求字符串中大写小写字母个数;36
6、题目要求:已知10 名学生的成绩已存入数组 a 中,求不低于 m分的人数, 并存入变量 count中,并输出之。例如,若m=60 ,则 count=5 ;若 m=80 ,则 count=2 。(若程序已经定义的变量不够用,考生可以补充定义其它变量) 。题目已给出的框架如下: # include“”main()参考答案如下:#include“”main()intm,a 10 =34,45,67,82,64,53,67,90,49,56;intcount=0,i;scanf( “ % d”,&m);for(i=0;i=m)无精品资料 - - - 欢迎下载 - - - - - - - - - - -
7、 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - intm,a 10 =34,45,67,82,64,53,67,90,49,56;intcount;count+;printf(“thecountis %d”,count);7题目要求:从键盘输入的一行字符串(c& b+ca& c+ab)s=*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“yes ! andthearea= % fn”,area);elseprintf(“yesn”);9题目要求: 编写一个名为fun 的函数
8、将字符串中所有的大写字母转换成小写字母. 例如, 对 于 字 符串 ”AAbbCC ”, 则 会被 转 换成”aabbcc”.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(charw )main()chara 20 =“AAbbCC ”;fun(a);puts(a);参考答案如下:#include“”fun(charw )inti;for(i=0;w i ! =0 ;i+)if(w i = A&w i = Z )w i =w i +32;main()chara 20 =“AAbbCC ”;fun(a);puts(a);使用自
9、定义函数处理字符串问题,例如:1 大写 小写字母转换;2 字符串逆序存放;3 排序(升序、降序) 。10题目要求:编写一个名为fun 的函数 , 其参考答案如下:使用自定义函数处理字符串问题,例精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - 功能为 : 将数组 n 中的字符串拷贝至数组m中. 例如 , 在 main 中调用fun以后 , 会输出”university”.(不允许用 C语言提供的strcpy函数. )(不要改动已有的代码, 仅在f
10、un 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(charm ,charn )main()chara 20 ,b 20 =“university”;fun(a,b);puts(a);#include“”fun(charm ,charn )inti;for(i=0;n i ! =0 ;i+)m i =n i ;m i =0 ;main()chara 20 ,b 20 =“university”;fun(a,b);puts(a);如:1 字符串拷贝;2 把字符串 a追加到 b 后。11题目要求:编写一个名为fun 的函数实现一个字符串按逆序存放. 例如 : 由
11、abcd变为 dcba.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(charw )参考答案如下:#include“”fun(charw )inti,n,t;for(i=0;w i ! =0 ;i+);n=i;for(i=0;in/2;i+)t=w i ;w i =w n-1-i ;w n-1-i =t;无精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - - - - - - - main()chara
12、 20 =“abcd”;fun(a);puts(a);main()chara 20 =“abcd”;fun(a);puts(a);12题目要求:编写一个名为fun 的函数实现将数组 a 中的 n 个整数依次向后移一位,最后面一位移到最前面的位置. 例如 , 若有a 5 =0,1,2,3,4;,则调用 fun 函数后 , 数组元素的排列顺序为4,0,1,2,3.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn)main()inti,a 5 =0,1,2,3,4;fun(a,5);for(i=0;i0;i-)w
13、 i =w i-1 ;w 0 =t;main()inti,a 5 =0,1,2,3,4;fun(a,5);for(i=0;i= a&w i = A& w i = Z )(*p1)+;else(*p2)+;main()chara 20 =“aed234efg”;intletter,other;fun(a, &letter,&other);printf(“ % d, % d n”,letter,other);2统计字符串中字母/ 符号 / 数字个数。14题目要求: 编写一个名为fun 的函数实现计算数组 a 中 n 个整数的最大数和最小数.例如, 本题的 main 函数应输出7,1 .(不要改动已
14、有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn,int*p1,int*p2)main()inta 5 =1,2,3,4,7,max,min;参考答案如下:#include“”fun(intw ,intn,int*p1,int*p2)inti;*p1=w 0 ;*p2=w 0 ;for(i=1;i*p1)*p1=w i ;elseif(w i *p2)*p2=w i ;main()inta 5 =1,2,3,4,7,max,min;使用指针,自定义函数处理整型 (实型)数组统计问题。例如:1 求平均分;2 求最大值最小
15、值;3 求高于平均分人数;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - fun(a,5,&max,&min);printf(“% d, % d”,max,min);fun(a,5,&max,&min);printf(“ % d, % d”,max,min);15题目要求: 编写一个名为fun 的函数实现向有序数组 a( 由小到大排列 ) 中插入一个数m 后 使 数 组 仍 然 有 序 . 例 如 , 若 有a 6 =10,20,30,40,5
16、0;,则调用 fun 函数插 入35 后 , 数 组 元 素 的 排 列 顺 序 为10,20,30,35,40,50.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn,intm)main()inta 6 =10,20,30,40,50,m,i;m=35;fun(a,5,m);for(i=0;iw n-1 )w n =m;elsefor(i=0;w i =t;i-)w i+1 =w i ;w t =m;main()inta 6 =10,20,30,40,50,m,i;m=35;fun(a,5,m);for(
17、i=0;i6;i+)printf(“ % d, ”,a i );无16题目要求: 编写一个名为fun 的函数实现计算数组 a中的 n个学生成绩中小于平均分的人数 , 平均分按实型数考虑. 例如 , 若有a 5 =50,60,70,80,90;,则 fun 函数的返回值应为 2.参考答案如下:#include“”fun(intw ,intn)inti,sum=0,m=0;floatavg;使用自定义函数对整型(实型) 数组进行统计处理问题,例如:1 求平均分;2 求最大值最小值;3 求高于平均分人数;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
18、- - - - - - - - - -第 9 页,共 13 页 - - - - - - - - - - (不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn)main()inta 5 =50,60,70,80,90,count;count=fun(a,5);printf(“% d”,count);for(i=0;in;i+)sum=sum+w i ;avg=sum/n;for(i=0;in;i+)if(w i avg) m+;returnm;main()inta 5 =50,60,70,80,90,count;
19、count=fun(a,5);printf(“ % d”,count);4 统计问题和置换问题结合。17题目要求: 编写一个名为fun 的函数实现将数组 a的 n个整数中的最小数与最后面的数 互 换 , 而 其 它 元 素 不 变 . 例 如 , 若 有a 5 =34,1,2,56,4;,则调用 fun 函数后 ,数组元素的排列顺序为34,4,2,56,1.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn)main()inti,a 5 =34,1,2,56,4;参考答案如下:#include“”fun(in
20、tw ,intn)inti,min,j;min=w 0 ;for(i=0;in;i+)if(w i min)min=w i ;j=i;w j =w n-1 ;w n-1 =min;main()inti,a 5 =34,1,2,56,4;fun(a,5);最大数和第一个元素互换。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 13 页 - - - - - - - - - - fun(a,5);for(i=0;i5;i+)printf(“ % d, ”,a i );for(i=0;i5;i+)p
21、rintf(“% d, ”,a i );18题目要求: 编写一个名为fun 的函数根据一个学生一学期5 门课的成绩 , 判断学生是否优秀 , 优秀的条件是单科分都大于85 分,如果是优秀则函数返回1, 否则返回0. 本题的 main 函数应输出 ”no good”.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn)main()intk,a 5 =34,56,72,99,80;k=fun(a,5);if(k=1)printf(“good”);elseprintf(“no good”);参考答案如下:#incl
22、ude“”fun(intw ,intn)inti,m=1;for(i=0;in;i+)if(w i = a&w i = z )sum=sum+w i ;使用自定义函数处理字符串统计问题,例如:1 字符串中大写 / 小写 / 数字的ASCII码值之和;2 字符串中数字之和。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 13 页 - - - - - - - - - - # include“”fun(charw )main()chara 10 =“aCbD ”;intk;k=fun(a);pri
23、ntf(“n% d”,k);returnsum;main()chara 10 =“aCbD ”;intk;k=fun(a);printf(“n% d”,k);20题目要求:编写一个名为fun 的函数 , 实现 对整 型数 组 元素 作如 下操作: a 1 =a 1 +a 0 ,a 2 =a 2 +a 1.即每一个元素等于它本身与上一个元素之和,最前面的一个元素值不变. 例如 , 若原来的数 组 为8,9,1,0,4,则 新 数 组 为8,17,10,1,4.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw ,intn)
24、main()inti,a 5 =8,9,1,0,4;for(i=0;i0;i-)w i =w i +w i-1 ;main()inti,a 5 =8,9,1,0,4;for(i=0;i5;i+)printf(“% d “,a i );fun(a,5);printf(“n”);for(i=0;i5;i+)printf(“% d “,a i );使用自定义函数对整型(实型) 数组进行数学处理问题。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 13 页 - - - - - - - - - - p
25、rintf(“ % d “,a i );fun(a,5);printf(“n”);for(i=0;i5;i+)printf(“ % d “,a i );21题目要求:编写一个名为fun 的函数 , 判断给定的正整数是否是素数. 素数的定义是: 其因子只有 1 和它本身 . 例如,7 就是素数. 本题的 main 函数应输出Yes.(不要改动已有的代码, 仅在fun 的函数体中填写若干语句 )题目已给出的框架如下: # include“”fun(intw)main()intm;m=7;if(fun(m)printf(“Yes”);elseprintf(“No ”);参考答案如下:#include“”fun(intw)inti;for(i=2;iw;i+)if(w % i=0)return0;return1;main()intm;m=7;if(fun(m)printf(“Yes”);elseprintf(“No ”);使用自定义函数处理数学问题,例如:1 百鸡问题;2 古典数学问题。等等。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 13 页 - - - - - - - - - -