c语言上机题库2_缩印版

上传人:无*** 文档编号:168551746 上传时间:2022-11-10 格式:DOCX 页数:89 大小:279.79KB
收藏 版权申诉 举报 下载
c语言上机题库2_缩印版_第1页
第1页 / 共89页
c语言上机题库2_缩印版_第2页
第2页 / 共89页
c语言上机题库2_缩印版_第3页
第3页 / 共89页
资源描述:

《c语言上机题库2_缩印版》由会员分享,可在线阅读,更多相关《c语言上机题库2_缩印版(89页珍藏版)》请在装配图网上搜索。

1、201I年计算机等级考试二级C语言1 j注意:不要改动main函数,不上机题库(51)/*found*/得增行或删行,也不得更改程序的填空题:给定程序中,函数fun的一3 一;结构!功能是:找出100至x(xW9我)之)给定源程序:间各位上的数字之return n;0include和为15的所有整数,然后输出;#include符合条件的整数个数作为函数值返main()void fun (char *s, char *t)回。int x=-l;例如,当n值为500时,各位while(x999|x0)数字之和为15的整数有:159、printf(Please/*found*/168、 177、 1

2、86、input(0x=999): ?);=int i;195、 249、 258、 267、 276、scanf(?%d?, = &x);=si = strlen(s);285、 294、 339、 348、 357、 366、p=X/xfor (i=0; i375、 384、 393、printf(nThe result429、 438、 447、 456、 465、is: %dn, fun(x);/*found*/474、483、492 共有 26 个。ti = ssl-i;请在程序的下划线处填入正确解题答案:for (i=0; i的内容并把下划线删除,使程序得/*found*/tsl+

3、i = si;出正确的结n=0;t2*sl =,、;果。/*found*/)注意:源程序存放在考生文件while(t=x)mainO夹下的BLANK1.C中。/*found*/char s100, t100;不得增行或删行,也不得更改t+;printf(nPlease enter程序的结构!string s:) : scanf(%s, s);给定源程序:*fun(s, t);#include*printf(The resultint fun(int x)改错题:给定程序MODI l.C中函数is: %sn, t);int n, si, s2, s3, t;fun的功能是:先将s所指字符串)/*

4、found*/中的字符按逆序存放解题答案:n=_l_;到t所指字符串中,然后把St=100;所指串中的字符按正序连接到t所/*found*/*found*/指串的后面。int i, si;while(t= 2 )例如:当s所指的字符串为:sl=t%10; s2=(t/10)%10;ABCDE时,/*ound*/s3=t/100;则t所指的字符串应为:ti=ssl-i-l;if(sl+s2+s3=15)EDCBAABCDEoprintf(*%d , t);请改正程序中的错误,使它能*n+;得出正确的结果。程序题:函数fun的功能是:将 a、b中的两个两位正整数合并形成 个新的整数放在,中。合并的

5、方式是:将a中 的十位和个位数依次放在变量c的 百位和个位上,b中的十位和个位数依次放在变量 c的千位和十位上。例如,当a=45, b=12a调用该 函数后,c=1425o注意:部分源程序存在文件 PR0G1.C中。数据文件IN. DAT中的 数据不得修改。请勿改动主函数main和其它函 数中的任何内容,仅在函数fun的 花括号中填入你编写的若干语句。给定源程序:includevoid fun(int a, int b, long*c)()mainO /主函数/int a,b; long c;void NONO0;printf(*Input a, b:);scanf(*%d%d*, &a, &

6、b);fun (a, b, &c);printfThe resultis: %ldn*, c):NONO();void NONO ()(/本函数用打开文件,输 入数据,调川函数,输出数据,关 闭文件。*/FILE *rf, *wf ;int i, a, b ; long c ;rf = fopen(*in. dat*, *r*);wf = fopen(*out. dat*, *w*);for(i = 0 ; i 113、122、 131、 140、 203、 212、221、 230、 302、 311、 320、 401、410、500 共有 15个。当x值为27时,各位数字 之和为27的整

7、数是:999只有1 个。请在程序的下划线处填入正确 的内容并把下划线删除,使程序得 出正确的结果。注意:源程序存放在考生文件 夹下的BLANKLC中。不得增行或删行,也不得更改 程序的结构!给定源程序:#includeint fun(int x)int n, si, s2, s3, t;n=0;t=100;/*found*/while(t=1)/*found*/ sl=t%10; s2=(_2_)%10;s3=t/100;/*found*/if(sl+s2+s3= 3)printf(*%d , t);n+;)t+;)return n;mainOint x=-l;while(x0):);scan

8、f (%d,&x);)printf(nThe resultis: %dn, fun(x);)解题答案:/* 第一空*t = s%10*sl + *t;typedef structwhile(t=999)/* 第二空*/sl=t%10; s2=(t/10)%10;s3=t/100;/* 第三空*/if(sl+s2+s3=x)二、改错题:给定程序M0DI1.C中 函数fun的功能是:从低位开始取 出长整型变量s中偶数位上的数,依次构成一个新数放 在t中。髙位仍在髙位,低位仍在低 位。例如,当s中的数为:7654321 时,t中的数为:642请改正程序中的错误,使它能 得出正确的结果。注意:不要改动

9、main函数,不 得增行或删行,也不得更改程序的 结构!给定源程序:include/*found*/ void fun (long s, long t) long sl=10;s /= 10;t = s % 10;/*found*/ while (s 0)三、程序题:学生的记录由学号和 成绩组成,、名学生的数据已在主 函数中放入结构体数组s中,请编写函数fun,它的功 能是:按分数的髙低排列学生的记 录,高分在前。注意:部分源程序在文件PR0G1.C文件中。请勿改动主函数main和其它函 数中的任何内容,仅在函数fun的 花括号中填入你编写的若干语句。给定源程序:include0define

10、N 16char num10;int s;)STREC;void fun(STREC a口)()mainOSTRECsN = (*GA005*. 85,GA003”, 76), *GA002*,69, *GA004*,85, (*GAO01*. 91, GA007*,72 *GA008,64,“GA006”,87, “GA015”,85, GA013”,91, “GA012”, 64, (GA014*,91, *GA0ir,66, *GA017*,64,“GA018”,64, GA016”,72;int i;FILE *out ;fun(s);printf(*The data aftersor

11、ted :n);for(i=0;i- p=if(i)%4=0)printf(n);printf (%s %4d, si. num, si. s);)printf (n);out = fopen(out. dat,w);for(i=0;iif(i)%4=0 & i)fprintf(out, n);fprintf(out, %4d ,si.s);fprintf(out, n);fclose(out);)参考答案:includedefine N 16typedef struct char num10;int s; STREC;int fun( STREC a)(STREC tmp;int i,j;f

12、or(i = 0; i N; i+)for(j = i+1; j N; j+) if(ai. s 99999999|n0)printf(Pleaseinput(0n/nprintf(nThe resultis: %ldn, fun(n);)解题答案:/* 第一空*/i=l;/ * 第 二 空* /whi le(s)/* 第三空x=x+t*i; i=i*10;二、改错题:给定程序M0DI1.C中 函数fun的功能是:饰出M行M列 整数方阵,然后求两条对角线上元 素之利,返回此和数。请改正程序中的错误,使它能 得出正确的结果。注意:不要改动main函数,不 得增行或删行,也不得更改程序的 结构!给

13、定源程序:#includedefine M 5/*found*/ int fun(int n, int xx) int i, j, sum=0;printf(nThe %d x %d matrix:n, M, M);for(i = 0; i M; i+)for(j = 0; j M; j+)/*found*/ printf(%f , xxi j);printf (n*);1for(i = 0 ; i n ; i+)sum += xxii+xxin-i-1:return(sum);)mainOintaaMM=1.2,3,4,5, 4,3,2,1, 0 ,(6,7,8, 9,0), (9,8, 7

14、, 6,5, 3,4,5,6,71);printf (*nThe sum of al 1elements on 2 diagnals is %d. *, fun(M, aa);)解题答案:rf = fopen( in. dat*, r );例如,从主函数输入个整/*found*/wf = fopen(*out. dat, w);数:27638496,函数返回值为:int fun(int n, int xxM)for(i = 0 ; i 99999999|n0)/本函数用于打开文件,输上为偶数的数取出,并按原来从髙printf(Please入数据,调用函数,输出数据,关位到低位的顺序组成一个新的

15、数,input (0n/n闭文件。*/并作为函数值返回。printf(nThe resultFILE *rf, *wf ;is: %ldn*fun(n);int i, a, b ; long c ;解题答案:sum += xxii+xxin-i-请勿改动主函数main和其它函/* 第一空1;数中的任何内容,仅在函数fun的*/return(sum);花括号中填入1=1;)你编写的若干语句。/* 第 二 空* /main()给定源程序:while(s)int#include/* 第三空aaM M = 1,2,3,4, 5, 4,3,2, 1,void fun(int a, int b, long

16、*/0, 6,7,8, 9, 0),*c)x=x+t*i; i=i*10;(9,8, 7,6,5), (3,4,5, 6,7);(printf (*nThe sum of al 1)*elements on 2 diagnalsvoid NONO 0*is %d. *, fun(M, aa);/本函数用于打开文件,愉二、改错题:给定程序MODILC中)入数据,调用函数,输出数据,关函数fun的功能是:输出M行M列解题答案:闭文件。/整数方阵,然后求两条对角线上无FILE *rf, *wf ;素之和,返回此和数。/* found*/int i, a, b ; long c ;请改正程序中的错误,

17、使它能int fun(int n, int xxM)rf = fopen(in. dat, r);得出正确的结果。wf = fopen(*out. dat*, *w*);注意:不要改动main函数,不/*found*/for(i = 0 ; i 10 ; i+) 得增行或删行,也不得更改程序的printf(*%4d”, xxij);fscanf (rf,飞d, %d, &a, &b)结构!fun (a, b, &c);给定源程序:*料*fprintf (wf,include*a=%d, b=%d,c=%ldn*, a, b, c);#define M 5三.程序题:函数un的功能是:将)a、b

18、中的两个两位正整数合并形成fclose(rf);/* f()ur)d*/个新的整数放在Cfclose(wf);int fun(int n, int xx)中。合并的方式是:将a中的十)int i, j, sum=0;位和个位数依次放在变量c的千位main()printf(*nThe %d x %d和十位上,b中的int a,b; long c;void NONOmatrix:n , M, M);十位和个位数依次放在变量c0;for(i = 0; i M: i+)的个位和百位上。printf(*Input a, b:);for(j = 0; j M; j+)例如,当a=45, b=12o调用该s

19、canf(*%d%d*, &a, &b);函数后,=4251。fun (a, b, &c);/*found*/注意:部分源程序存在文件printf(*The resultprintf(*%f *, xxij);PR0G1.C中。数据文件IN. DAT中的is: %ldn*, c);printf(n);数据不得修改。NONO();)for(i = 0 ; i 9999999911n)printf(Pleaseinput(0n 0)d = s%10;/科*found*/if (d%2 = 0) *t = d * si + *t;si *= 10;)s /= 10;)mainOlong s, t;p

20、rintf(*nPlease enter s:*);scanf(*%ld*, &s);fun(s, &t);printf(*The resultis: %ldn*, t);)解题答案:/*found*/*t=0;/*found*/ if(d%2!=0)三、程序题:编写个函数fun,它 的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到P!所指的字符串后。例如,分别输入下面两个字符FILE *rf, *wf ;不得增行或删行,也不得更改串:char si80, s240;程序的结构!FirstString-rf = fopen(in. dat, r);给定源程

21、序:SecondStringwf = fopen(*out. dat , w);#i nclude程序输出:for(i = 0 ; i 99999999|n0)s2:n*);201I年计算机等级考试二级C语言printf(Pleasescanf(*%s%s*, si, s2);上机题库(55)input(0n1 & n 170)/*f oiind*/ result *= n-return result ;)main ()int n ;printf(*Input N:*);scanf(%d, &n);printf(*nn%d! =%lfnn*, n, fun(n);解题答案:/* found*/

22、if (n=0)/*found*/ result *=n-;三、程序题:请编写个函数 fun,它的功能是:将一个数字字符 串转换为个整数(不得调用C语言提供的将字符串转 换为整数的函数)。例如,若输入字 符串”-1234”,则函数把它转换为整数值1234函数fun中给出的语句仅供 参考。注意:部分源程序存在文件PR0GLC文件中。请勿改动主函数main和其它函 数中的任何内容,仅在函数fun的 花括号中填入你编写的若干语句。给定源程序:include#includelong fun (char *p)()mainO /主函数/char s6;void NONO ();long n;printf

23、(*Enter a string:n);gets(s);n = fun(s);printf (%ldn*, n);NONO 0;)void NONO ()/本函数用于打开文件,输 入数据,调用函数,输出数据,关 闭文件。*/FILE *fp, *wf ;int i ;char s20;long n ;fp = fopen(in. dat, r);wf = fopen(out. dat, w);for(i = 0 ; i 10 ; i+) fscanf(fp, %s, s);n = fun(s);fprintf (wf, %ldn, n);)fclose(fp);fclose(wf);参考答案:

24、#include#includelong fun ( char *p)(/以下代码仅供参考/int i, len, t; /* len 为串 长,t为正负标识*/long x=0;len=strlen(p);if(p0=) t=-l; len-; p+; else t=l;/以下完成数字字符串转换为 一个数字*/while(*p) x = x*10- 48+(*p+);return x*t;) 、填空题:给定程序中,函数 fun的功能是:计算下式前n项的 和作为函数值返回。例如,当形参n的值为10时, 函数返回:9. 612558c请在程序的下划线处壊入正确 的内容并把下划线删除,使程序得出

25、正确的结果。注意:源程序存放在考生文件 夹下BLANK1.C中。不得增行或删行,也不得更改 程序的结构!给定源程序:includedouble fun(int n)int i; double s, t;/*found*/s=_l_:/*found*/for(i=l; i=_2_; i+)t=2. 0*i;/*found*/s=s+(2.0*i-1)*(2. 0*i+l)/_3_;)return s;)ma i n ()(int n=-l;while(n0):);scanf(%d, &n);printf(nThe resultis: %fn, fun(n);)解题答案:/*第一空s=0;/* 第

26、二空*/for(i=l; i 0)*三、程序题:请编写个函数 fun,它的功能是:根据以下公式求 /的值(要求满足精度0. 0005即某项小J-0. 0005时 停止迭代):程序运行后,如果输入精度0. 0005则程序输出为3. 14-%注意:部分源程序存在文件 PR0G1.C文件中.请勿改动主函数main和其它函 数中的任何内容,仅在函数fun的 花括号中填入你编写的若干语句。给定源程序:whi le (fabs (s) =eps) 精度#include判断return s;includef)double fun (double eps)pi+=s; /pi存放累加和mainO(t=n/(2

27、*n+l): 每项int n=l;)s*=t: 累枳while(n0):double x:void NONO (););scanf(*%d*, &n);)printf(*Input eps:);pi=pi*2: 求得又值printf(*nThe resultscanf(%1f, &x);return pi;is: %fn”, fun(n);printf(neps = %lf, PI=%lfn,i j)x, fun(x);201I年计算机等级考试二级C语言解题答案:NONO O ;上机题库(57)/* 第一空)一、填空题:给定程序中,函数*/void NONO ()fun的功能是:计算下式前n项

28、的k=l;/本函数用于打开文件,输和作为函数值返回。/* 第二 空入数据,调用函数,输出数据,关例如,当形参n的值为10时,*/闭文件。*/函数返回:-0.204491 t=2*i;FILE *fp, *wf ;请在程序的下划线处填入正确/*第 三 空*/int i ;的内容并把下划线删除,使程序得出k=k*(-l);double x ;正确的结果。fp = fopen(in. dat, r);注意:源程序存放在考生文件*wf = fopen(out. dat, w);夹下BLANK1.C中。*for(i = 0 : i 10 ; i+) 不得增行或删行,也不得更改二、改错题:给定程序MOD.

29、 C中fscanf(fp, %lf, &x);程序的结构!函数fun的功能是:判断个整数fprintf(wf, %1 fn,给定源程序:是否是素数,若是返fun(x);#include回1,否则返回。)double fun(int n)在main。函数中,若fun返回fclose(fp);int i, k; double s, t;1输出YES,若fun返回输出fclose(wf);s=0;N0!。)/*found*/请改正程序中的错误,使它能解题答案:k=_l_;得出正确的结果。(for(i=l; i=n; i+) 注意:不要改动main函数。不double s;/*found*/得增行或删

30、行,也不得更改程序的float n,t,pi;t=_2_:结构!t=l;pi=0;n=l. 0;s=l. 0;s=s+k*(2*i-l)*(2*i + l)/(t*t);给定源程序:对各个累加项,累加积等赋/*ound*/0include初始化值k=k*_3_:int fun (int m)int k = 2:值,index存放最大值所在元素的下fun (x, n , &max, &index):while (k = m & (儼k)标。fprintf(wf,注意:部分源程序存在文件*Max=%d, Index=%dn*, max,/*found*/PROG1.C文件中。index);k+请勿

31、改动主函数main和其它函数中的任何内容,仅在函数fun的fclose(fp);/*found*/花括号中填入fclose(wf);if (m = k)你编写的若干语句。)return 1;给定源程序:参考答案:else return 0;#i ncludevoid fun(int a口,int n ,)#includeint *max, int *d )ma i n ()void fun(int a, int n ,(int n;int *max, int *d)int i ;printf(*nPlease enter n:(*max=a0;*d = 0 ; / 把数*); scanf&n)

32、;)组的第1个元素值赋值给最大值变if (fun (n)ma i n ()量*max */printf(YESn);int i, x20, max , index,for(i = 1; i n; i+)else printf(N0!n);n = 10;void NONO ();if(*max ai) ( / 判断)for (i=0;i n;i+) xi=max是否小广当前值/解题答案:rand()%50; printf (飞4d”, xi) ;max = ai; /重新把最大printf(*n*);值赋值给max / * f ouncl*/fun(x, n , &max, &index);*d

33、 = i ; /记住下标/k+;printf(*Max =%5d , Index)4dn”,max, index);)/ * f()und*/N0N00 ;201I年计算机等级考试二级C语言if (m=k )上机题库(58)void NONO ()一、填空题:给定程序中,函数*/本函数用于打开文件,输fun的功能是计算下式例如:若形*入数据,调用函数,输出数据,关参e的值为le-3,函数的返回值为三、程序题:请编写个函数闭文件。*/0. 551690 0fun,它的功能是:找出维整型数FILE *fp, *wf ;请在程序的下划线处填入正确组元素中最大的值和它所在的下int i, x20, m

34、ax , index,的内容并把下划线删除,使程序得出标,最大的值和它所在的下标通过n = 10, j ;正确的结果。形参传回。数组元素中的值已在主fp = fopen(in. dat, r);注意:源程序存放在考生文件函数中赋予。wf = fopen(*out. dat*, *w*);夹下BLANK1.C中。主函数中x是数组名,n是xfor(i = 0 ; i 10 ; i+) 不得增行或删行,也不得更改中的数据个数,max存放最大for(j = 0 ; j n ; j+)程序的结构!fscanf(fp, *%d, * &xj);给定源程序:tfinclude2 3 5 8 13 21double fun(double e),*int i, k; double s, t, x:-,-,*s=0; k=l; i=2;1 2 3 5 8 13三、程序题:请编写个函数/*

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!