2022年福建省南平市全国计算机等级考试C语言程序设计真题(含答案).docx
《2022年福建省南平市全国计算机等级考试C语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年福建省南平市全国计算机等级考试C语言程序设计真题(含答案).docx(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年福建省南平市全国计算机等级考试C语言程序设计真题(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s t时返回 正值,当s l;j-) switch(j) case 1 :case2 : P(ai+);break;24 .规定输入的字符申中只包含字母和号c请编写函数fun.其功能是:将字符串尾部的,号全部删除. 前面和4间的号不动。例如,字符串中的内容为删除后.字符串中的内容应当是“ A*BC*DEF*G在编写函数时,不得使用C语言提供的字符串函数
2、.注重:部分源程序螳出如下。请勿改动主函数main和其他留效中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,试JS程序:#inclnde #inck(de .void fjn (char *a) void niainf)( ihars81上priDtfCEnler a仪山惬以女序仪;向城欧printff *Thc string after deleted;n,*):(HitS(sX)25 .请编写一个函数proc (),它的功能是:求出一个4xN整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数pr
3、oc的花 括号中填入所编写的若干语句。试题程序:=defiM N 4 s mcludr Vxdicu h uii ptocC ini a _ Njmid mam( tnt arrjN - 7IU5w5Jt2U2. 911phntfC %dn*proHrT)s26 .使用VC +2010打开考生文件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,编写函数fun(), 其功能是将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是将a中的十位数和个位数依次放在c数的十位和千位上,b中的十位数和个位数依次放在C数的百位和个位上。例如,当a=45,
4、 b=如时,调用该函数后,c=5142o注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入编写的若干语句。试题程序:#include #include #include void fun (int a, int b, long * c)() main ()(int a, b;long c;printfInputscanf(d%d;&a,&b);fun(a9b,&c);printfCThe result is: %ldn5c);27 .某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程 的成绩已在主函数中给出,请编写函数,其功能
5、是:求出该学生的平均 分,并放入记录的ave成员中。例如,学生的成绩是:85 .5, 76, 69 .5, 85, 91, 72, 64 .5, 87 .5, 则他的平均分应为78 . 875。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。试题程序:#include#define N 8typedef struct(charnum10;double sN;double ave ;STREC ;void fun(STREC*a)()void mainSTRECs=GA005, 85 . 5, 76, 69 . 5, 85, 91,
6、 72, 64.5, 87.5;int i ;fun(&s);printf(nThe%ss student data : nn, s.num);for(i=0 ; i ; n。p=m! / (n! (m-n) !),例如, m=20, n=10时,运行结果为184756 . 000000。注意:部分源程序给出 如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数proc0的花括号中填入所编写的若干语句。试题程序:庐 mclude Vamid h include wwd enAtfi ()pnntf Cp* Hfn* proc(20.10) ) 29 .使用VC +2010打开考生文
7、件夹下progl中的解决方案。此解决方 案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(), 该函数的功能是将s所指字符串中ASCII值为偶数的字符删除,字符串 中剩余字符形成一个新字符串并将其存放在t所指的数组中。例如,若s所指字符串中的内容为“ABCDEFG123456,其中字符B 的ASCII值为偶数,字符2的ASCII值为偶数,都应当删除,其他依 此类推。最后t所指的字符串中的内容应是“ACEG135”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include #i
8、nclude #include #include void fun (char * s, char t)()void main ()(chars100,t100;system(“CLS”);printf (nPlease enter string s:);scanf (%ss);fun(s, t);printf (nThe result is : %snJ);)30 .假定输入的字符串中只包含字母和*号。请编写函数proc,它的功 能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是a*bc*def*g*
9、*。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include#includewoid proc(char*st r)()void mainchar str81;printf(nEnter a string: n,f);gets(str);proc(str):printf(nThe string after deleted: nn);puts(str); 四、2.程序修改题(10题)31 .给定程序MODU . C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。在mai()函数中,若fu
10、n返回1输出YES,若fun返回。输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!234567891011121314151617*include int fun (int m) (int k - 2;while (k m & (m%k)k+/6found,肯/ if (m - k)return 1; else return 0;main () int n;printf(nnPlease enter n: scanf (d。,&n);if (fun (n) printf(MYESnw); else printf(NO!nn
11、);32 .下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:#include #include int fun( int m) int i,k;for (i=m+l; ;i+) for (k=2;k i;k+)/ 7,7,7,7,7,7,7,。/小小小不不不不小不不不小小tCl 1Xif(i%k!=0) break;if (k i) return(i); ) ) main() int n; clrscr ();printf(nnP
12、lease enter n:);scanf(n%d&n);printf(n%dnfun(n); )33 .下列给定程序中函数fun()的功能是:求出字符串中最后一次出现的 子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字 符串;若未找到,则函数值为NULL。例如,当字符串中的内容为 abcdabfabcdx, t中的内容为ab时,输出结果应是abcdx。当字符串中的 内容为abcdabfabcdx, t中的内容为abd时,则程序输出未找到的信息: Not found!请改正程序中的错误,使它能得出正确的结果。注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题
13、程序:#include #include #include char *fun(char *s,char *t) (char *p,*r,*a; / 7,7,7,7,7,7,7,。17,7,7,7,/小小小不不不不小不不不小小小不不不不小不不不不不不不不/a=Null;while(*s) p=s;r=t;while(*r)/k1k1 v* 1# k % 1# /不不不不不不不不不不不不不tci】nc不不不可不不不不不不不不不不/if(r=p) r+;p+;else break;if(*r=O) a=s;s+;return a; ) main() chars100,t100,中p;clrscr(
14、);printf(nnPlease enter string S:);scanf(n%sn,s);printf(nnPlease enter substring t:);scanf(八s”,t);p=fun(S,t);if(p) printf(nnThe result is:%sn”,p);else printf(nnNot found!n n);)34 .给定程序MODII . C中fun函数的功能是:根据整型形参m,计算 如下公式的值。例如,若主函数中输入5,则应输出-0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动ma
15、in函数,不得增行或删行,也不得更改程序的结构!1 tinclude 2 j double fun(int m)45 6789101112131415161718double t = 1.0;int i;for(i 2; i * m; i+)/八m. found.t - 1.0-1 /i;/*w*found*/ main ()(int m ;printf(MnPlease enter 1 integer numbers:nw);scanf(H%dnr &m);printf (MnnThe result is %lfnf fun(m);35. N个有序整数数列已放在一维数组中,给定下列程序中,函
16、数fun() 的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则 返回其下标值:反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和 high(low high,查找结束。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。case 3 : P(ai);)4 .用复合的赋值运算符将变量x中的值增大2的赋值表达式是【】。5 .表示”整数x的绝对值大于5”“时值为“真”的C语言表达式是【】。6 .下列程序的输出结果是o#include main() int a=2,b= l,c=2;if(a b)if
17、(b 0) c=0;else c+;printf(u%dnn,c);)7 .下列程序中的数组a包括10个整数元素,分别将前项和后项之和存入数组b,并按每行4个元素输出数组b。请填空。#include main()int a109b10J;for(i = 0;i 10;i+)scanf(%d,&ai);for(i = 0;i 9;i+) for(i;0;i 9;i+)#include #define N 10,/*found*/voidfun(inta,intm) int low-0,high=N-l,mid;while (low -high) mid=(low+high)/2;if(m =a
18、mid)low=mid+l;else return(mid);return(-l);main ()】 int i,aN=-3,4,7,9,13,24,67,89,100,1801,k,m;printf (a数组中的数据如下:);for(i=0;i =0) printf (m=%d, index=%dn,m, k);else printf(Not be found!n); )36.下列给定程序中,函数fun()的功能是:将m(lMmWO)个字符串反着连接起来,组成一个新串,放入M所指字符串中,例如把3个串DEG,ac, df反着串联起来,结果是dfacDEG。请改正程序中的错误,使它能得出正确的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 福建省 南平市 全国 计算机等级考试 语言程序设计 答案
限制150内