计算机二级考试C语言上机题库.docx

上传人:无*** 文档编号:68341938 上传时间:2022-12-27 格式:DOCX 页数:149 大小:131.77KB
返回 下载 相关 举报
计算机二级考试C语言上机题库.docx_第1页
第1页 / 共149页
计算机二级考试C语言上机题库.docx_第2页
第2页 / 共149页
点击查看更多>>
资源描述

《计算机二级考试C语言上机题库.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C语言上机题库.docx(149页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数27638496,新的数为729第一空:t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modil.c中函数fun的功能是:计算n!。蚀口,给n输入5,贝输出120.000000.double fun(int n)double result=1.0;/*fou nd*/if(n=O)return 1.0;while(n1&n=0,&si=9)/*|Qjjp-|*/sO+=sP;/*fo

2、und*/sj=O;)3 .程序设计题请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的J厕序依次放到一个字符串中。void fun(char sN,char *b)int i,j,n=O;for(i=0;iN;i+)/*请填写其相应语句完成其功能*/(for(j=0;jnext=null;for(i=1;idata=rand()%m;s-next=p-next;p-next=s;p=p-next;)/*ufou nd*/return h;3 .不琳谢十请编写函数fun ,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小

3、写字母组成,单词之间由若干个空格格开,一行的开始没有空格。int fun(char *s)(intk=1;while(*s) if(*s=)k+;s+;)return k;)第四套1 .程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename 所指的文件中,覆盖原来的文件内容。第1处 fp = fopen(filename,rb);第2处 if (si.sno sj.sno)第3处 fwrit

4、e(s,sizeof(STU),N,fp);2 .程序修改给定程序M0DI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.void fun(char s,int n) char a80,*p;inti;/*found*/ p=s; for(i=0;in;i+) ai=*;doai=*p; i+;)/*found*/ while(*p+) ai=0;strcpy(s,a);3 .程序设计请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能过调用随机函数获得,并放在主函数的age数组中:要求函数把。至9岁的年龄段的人数放

5、在d0中,把10至19岁的年龄段的人数放在仇1中,把20至29岁的年龄段的人数放在d2中,其余依次类推,把100岁(含100岁)以上年龄的人数都放在d10中。结果在主函数中输出。void fun(int *a, int *b)(int ij;for(i=0;iM;i+)bi=0;for(i=0;i10)bM-1+;else bj+;第五套1 .程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。第1处:FILE *fp;第2处:fclose

6、(fp);第3处:fscanf(fp,%s%s%s”,str,str1,str2);2 .程序修改给定程序M0DI1.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序找出前m(m10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回.STU *fun(STU a,int m) STU bN,*t;int i,j,k;nd */t=(STU *)calloc(sizeof(STU),m);for(i=0;iN;i+)bi=ai;for(k=0;km;k+) for(i=j=0;ibO.s)j=i;/*found*/tk=bO;bQ.s=0;)

7、return t;)3 .程序设计请编写函数fun ,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。int fun(int a,int n)int i,j=1,k=aO;for(i=1;in;i+)if(k!=ai)aO+=ai;k=ai;aj=O;return j;第六套1 .程序填空给定程序中,函数fun的功能是根据形参i的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000第一ftb : double fun(int i,double

8、 x,double y)第二处:return f1(x);第三处:return f2(x,y);2 .程序修改给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。#include /*Iqii nd*/char *fun(char *s,char *t)(int sl=O,tl=O;char *ss,*tt;ss=s; tt=t;while(*ss) sl+;/*fou nd*/SS+;while(*tt)tl+;Z*Iqjj nd*/tt+;if(tlsl) return t;else return s;)3 .程序设计请编写函数fun ,函数

9、的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。void fun(char *w, int m )(inti;for(i=0;im;i+)fun1(w);)第七套1 .程序填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位学生的信息。第1处 void show( STU tt)第2处 printfC%5.1 f,tt.scorei);第2处 show(std)2 .程序修改给定程序MODI1中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、

10、次最大数和a1中的数对调。int fun(int *a,int n) intfor(i=0;i2;i+)/*fou nd*/m=i;for(k=i+1;kam)m=k;t=ai;ai=am;am=t;)3程序设计请编写一个unsigned fun(unsigned w), w是一个大于10的无符号整数,若w是n( n=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923; w值为923则函数返回23.unsigned fun( unsigned w )if(w=10000) return w%10000;if(w=1000) return w%1000

11、;if(w=100) return w%100;return w%10;)第八套1 .程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。第1处 void modify(STU *ss,float a )第2处 ss-scorei*=a;第3处 modify(&std,a);2 .程序修改给定程序M0DI1.C中函数fun的功能是:求k!,所求阶乘的值作为函数值返回.例如:若k=10,则应输出:3628800.long fun(int k)/*fou nd*/if(k0)return (k*fun(k

12、-1);/*fou nd*/else if(k=O)return 1L;)3程序设计程序定义了 N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int aN,int n),函数的功能是:使数组左下三角元素中的值乘以noint fun(int aN,int n)int i,j;for(i=0;iN;i+)for(j=0;jnext;第2处 while(q)第3处 p=p-next;2 .程序修改给定程序M0DI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A , z转换成a ),其它字符不变./*fou nd*/ while(*s)if(*sA

13、&*sv=Z |*s=,a,&*s=z,)if(*s=Z)*s=A;else if(*s=,z,)*s=,a,;else *s=*s+1;/*ufou nd*/S+;)3程序设计void fun(int *w,int p, int n)(int i,j=O,bN;for(i=p+1;in;i+)bg+=wi; for(i=0;i=p;i+) bj+=wi;for(i=0;in;i+) wi=bi;)第十套1程序填空给定程序中,函数fun的功能是:判定形参a所指的NxN(规定N为奇数)的矩阵是否是幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及

14、反对角线上元素之和都相等。第1处 row=colum=0;第2处 if(row!=colum)|(row!=m1)return 0;第3处 return 1;2程序修改给定MODh.Cfun函数的功能是:根据整型形参m ,计算如下公式的值。t=1-1/2-1/3-1/m.#include double fun( int m )(double t =1.0;int i;for(i=2;inext;第2处 if (p=0) return;第3处 p=q; q=r;2.程序修改给定MODh.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的

15、错误,使它能得出正确的结果。# include # include #define N 80int fun(char *s, char *t)int n;char *p,*r;n=0;while (*s)p=s;/*found * Ir=t;while (*r) if(*r=*p)r+;p+; else break;/*found* I if(*r=O)n+;s+;return n;)3程序设计请编写函数fun,函数的功能是符放在字符串数组中的M个字符串(每串的长度不超过N ),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。void fun (char aMN),char *b

16、)int i;*b=0;for(i=0;inext;第3处q=r;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII 码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中工#include#include#define N 80 void fun(char *s,char t)int i,j=0;for(i=0;istrlen(s);i+)/m.found*/ if(i%2| si%2=0) tO+=si;/*found*/ tj=0;)3程序设计请编写函数fun ,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中

17、。函数fun中给出的语句仅供参考.#include void fun (int (*s)10,int *b, int *n, int mm, int nn) int i,j,np=0;for(i=0;inn;i+)for(j=0;jnext;第2处 q=p-next;第3处 if(p-data=q-data)2程序修改给定程序M0DI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。fun ( NODE *h)int max=-1;N

18、ODE *p;/*found*/p=h-next;while(p)if (p-datamax) max=p-data;/*found*/p=p-next;return max;3程序设计请编写函数fun ,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中.一维数组中数据的个数存放在形参n所指的存储单元中。void fun( int (*s)10,int *b, int *n, int mm, int nn)int i,j,k;for(i=0;imm;i+)for(j=0;jnext;while (p)if(p-data%2=0)sum +=p-data;/*found

19、* Ip=p-next;return sum;)3程序设i十请编写函数fun ,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:YEX ,否则返回0,主函数中输出NO,回文是指顺读t和倒读都一样的字符串。int fun(char *str)int i,j=strlen(str);for(i=0;ij/2;i+)if (stri!=strO-i-1) return 0;return 1;第十五套1程序填空程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩.所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是从指定文件中找出指定学号的学

20、生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的背后数据覆盖原数据,其它学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 while(!feof(fp)第2处 if(n.sno=sno) break;第3处 fseek(fp,-1 L*sizeof(STU),SEEK CUR);2程序修改给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的I质序进行排序,插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两

21、个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中待封序的字符串已在主函数中赋予。请改正函数fun中指定部位的错误,使它能得出正确的结果。void insert(char *aa)int i,j,n; char ch;/*found */n=strlen(aa);for(i=1;i=O)&(chs;STREC *p;p=h-next;while(p)if(p-smax)max=p-s;p=p-next; return max;)第十六套1程序填空给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。

22、Ss所指字符串数组中共有M个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 n=strlen(ssi);第2处 ssin+j=*;第3处 ssin+j+1=0;2程序修改给定程序M0DI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的单词”是指由空格隔开的字符串1请改正程序中的错误之处,使它能得出正确的结果。#include void fun(char *p) int k =0;for(;*p; p+) if(k)/m*found*/ if(*P =) k =0;/m*found*/*(p-1)=toupper

23、(*(p-1);)elsek=1;)3程序设计请编写函数fun ,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。int fun(char *s, int num)(char ch;int i,j;for(i=1;i6;i+)for(j=i+1;j6;j+)if(*(s+i)(s+j)(ch =*(s+j);*(s+j)=*(s+i);*(s+i)=ch;)第十七套1程序填空程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划

24、线删除,使程序得出正确的结果。第1处 struct student t;第2处 for(i=0;iO)2程序修改给定程序M0DI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun (char *p) char max,*q; int i=0; max=pi;while( pi!=O)if(maxp)*q=*(q-1);q-;) pO=max;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun ,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范

25、围内的学生人数由函数值返回。int fun (STREC *a, ST REC *b,int I, int h)int i,j =0;for(i=0;i=l&ai.s=h)bg+=ai;return j;)/*程序中I是用L的小写*/第十八套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回.第1处 tj=si;j+;第2处 for(i=0;ik;i+) tO+i=pi;第3处 tO+k=0;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换

26、成t2所指字符串,所形成的新串放在w所指的数组中.在此处,要求t1和t2所指字符串的长度相同。int fun (char *s, char *t1, char *t2, char *w)int i; char *p,*r,*a;strcpy( w,s);/*fou nd */while (*w)P=w;r=t1;while (*r)/*fou nd */if (*r=*p)r+;p+;else break;if (*r=0)a=w;w+;r=t2;while (*r)*a=*r;a+;r+;3程序设计函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在

27、t所指的数组中。void fun (char *s, char t)int i,j=0;forQ=0;ivstrlen(s);i+)if(si%2=0)tj+=si;t01=o;第十九套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据.第1处 struct student *fun(struct student *a)第2处 for(i=0;iscorei+=1;第3处 return a;2程序修改给定程序M0DI1.C中函数fun的功能是:从N个

28、字符串中找出最长的那个串,并将其地址作为函数值返回.各字符串在主函数中输入,并放入一个字符串数组中./ ou nd*/char *fun(char (*sq)M)int i; char *sp;sp=sqO;for(i=0;iN;i+)if (strlen(sp)strlen(sqi)sp=sqi;/*fou nd */return sp;)3程序设计函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。#include void fun (int a, int

29、 b, long *c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第二十套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指桑骂槐数组中小于平均值的数据移至数据的前部,大于等于平均值的数据移至x决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处 for(i=0; iN; i+) av+=xi/N第2处 yO=xi;xi=-1;j+;第3处i+;2程序修改给定程序MODI1.C函数fun的功能是:统计字符串各元音字母(即:A、E、I、0、U )的个数。注意字母不分大、4

30、当。fun (char *s, int num5)int k, i=5;for(k=0;k=0) numi+;3程序设计请编写函数fun ,函数的功能是求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。int fun(int a MN)int tot =0, i,j;for(i=0;iN;i+)tot +=a0Mi;tot +=aM-1i;for (i=1;iM-1;i+)tot +=ai0;tot +=aiN-1;)return tot;)第21套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的

31、数据移至数组的前部,小于等于平均值的数据移至 x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处 av=s/N;第2处 yO+=xi;xi=-1;第3处 if(xi!=-1)yO+=xil;2程序修改给定程序M0DI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)/m*found*/#include /m*found*/upfst (char *p)int k=0;for(;*p; p+)if (k)if (*p=)k=o;else if (*p!=”)k=1;*p=toupper(*

32、p);)3程序设计程序定义了 NxN的二级数组,并在主函数中赋值,请编写函数fun ,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的s.double fun (int wQN)inti, j, n=0;double sum=0;for(i=0; iN;i+)sum+=w0i+wN-1i;n+=2;for (i=1;iN-1;i+)sum+=wi0+wiN-1;n+=2;)return sum/n;)第22套1程序填空给定程序中,函数fun的功能是将自然数110以及它们的平方根写到名为myfile3.txt 的文本文件中,然后再顺序读出显示在屏幕上。第1处 fprintf(fp,*%d%fn*,i,sqrt(double)i);第2处 fclose(fp);第3处 if (fp=fopen(fname,r*)=NULL)2程序修改给定程序M0DI1.C中fun函数的功能是:将n个无序整数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com