全国计算机二级C考试题库程序设计部分.docx
- 文档编号:27292191
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:39
- 大小:81.51KB
全国计算机二级C考试题库程序设计部分.docx
《全国计算机二级C考试题库程序设计部分.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C考试题库程序设计部分.docx(39页珍藏版)》请在冰豆网上搜索。
全国计算机二级C考试题库程序设计部分
全国计算机二级C考试题库(程序设计部分)
1、找出2xM整型二维数组中最大元素的值,并将此值返回调用函数。
intfun(inta[][M])
{
inti,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j if(max max=a[i][j]; returnmax;} 2、 根据以下公式求π值。 doublefun(doubleeps) {doubles=0.0,s1=1.0; intn=0; while(s1>=eps) {s=s+s1; s1=s1*n/(2*n+1); n++; } return2*s; } 3、求出1~1000之间能被7或11整除但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 voidfun(int*a,int*n) {inti,j=0; for(i=1;i<=1000;i++) if((i%7==0||i%11==0)&&i%77! =0) a[j++]=i; *n=j; } 4、删除字符串中所有*号。 voidfun(char*a) {inti,j=0; for(i=0;a[i]! ='\0';i++) if(a[i]! ='*') a[j++]=a[i]; a[j]='\0'; } 5、实现两个字符串的连接(不要同时使用库函数),即把p2所指的字符串连接到p1所指的字符串的后面。 voidfun(charp1[],charp2[]) { inti,j; for(i=0;p1[i]! ='\0';i++); for(j=0;p2[j]! ='\0';j++) p1[i++]=p2[j]; p1[i]='\0';} 6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能: 求出平均分,并放入记录的ave成员中。 voidfun(STREC*a) {inti; a->ave=0.0; for(i=0;i a->ave=a->ave+a->s[i]; a->ave/=N;} 7、n名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。 求出平均分,并由函数值返回 doublefun(STREC*h) {doubleave=0.0; STREC*p=h->next; while(p! =NULL) {ave=ave+p->s; p=p->next; } returnave/N;} 8、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过K返回。 voidfun(intm,int*k,intxx[]) {inti,j,n=0; for(i=4;i {for(j=2;j if(i%j==0)break; if(j } *k=n; } 9、求ss所指字符串中指定字符的个数,并返回此值。 intfun(char*ss,charc) {inti=0; for(;*ss! ='\0';ss++) if(*ss==c) i++; returni; } 10、计算n门课程的平均分,结果作为函数值返回。 floatfun(float*a,intn) {inti; floatav=0.0; for(i=0;i av=av+a[i]; return(av/n); } 11、学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,求最高的学生数据放在b所指的数组中。 注意: 分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 intfun(STREC*a,STREC*b) {inti,j=0,max=a[0].s; for(i=0;i if(max for(i=0;i if(max==a[i].s) b[j++]=a[i]; returnj;} 12、除了字符串前导的*号之外,将串中其他*号全部删除。 voidfun(char*a) {inti=0; char*p=a; while(*p&&*p=='*') {a[i]=*p; i++; p++; voidfun(char*a,intn,inth,inte) {inti,j=0; for(i=h;i a[j++]=a[i]; a[j]='\0';} 18、将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中 voidfun(char*s,chart[]) {inti,j=0,k=strlen(s); for(i=1;i t[j++]=s[i]; t[j]='\0';} 19、将a,b中的两位正整数合并成一个新的整数放在c中。 合并方式是: 将a中的十位和个位依次放在变量c的百位和个位上,B中的十位和个位数依次放在变量c的十位和千位上。 voidfun(inta,intb,long*c) { *c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000; } 20、除了尾部的*号之外,将字符中的其他的*号全部删除。 形参p已指向字符串最后的一个字母。 voidfun(char*a,char*p) {char*t=a; for(;t<=p;t++) if(*t! ='*') *(a++)=*t; for(;*t! ='\0';t++) *(a++)=*t; *a='\0'; } 21、N名学生的数据已放入主函数中的结构体数组中,按分数降序排列学生的记录,高分在前,低分在后。 voidfun(STRECa[]) {inti,j; STRECt; for(i=1;i for(j=0;j if(a[j].s {t=a[j];a[j]=a[j+1];a[j+1]=t;} } 22、N名学生的数据已放入主函数中的结构体数组中,把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 doublefun(STREC*a,STREC*b,int*n) { inti; doubleav=0.0; *n=0; for(i=0;i av=av+a[i].s; av=av/N; for(i=0;i if(av<=a[i].s) {b[*n]=a[i];*n=*n+1;} returnav;} 23、将1~m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。 voidfun(intm,int*a,int*n) {inti,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;} 24、将字符串中的前导*号全部删除,中间和尾部的*号不删除。 voidfun(char*a) {char*p=a; while(*p=='*')p++; for(;*p! ='\0';p++,a++) *a=*p; *a='\0';} 30、N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点。 找出学生的最高分。 doublefun(STREC*h) {doublemax=h->s; while(h! =NULL) {if(max h=h->next; } returnmax; } 25、找出一维整型数组元素最大的值及其所在的下标,并通过形参传回。 主函数中x是数组名,n是x数据个数,max存放最大值,index存放最大值所在元素的下标。 voidfun(inta[],intn,int*max,int*d) {inti; *max=a[0]; *d=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 考试 题库 程序设计 部分
![提示](https://static.bdocx.com/images/bang_tan.gif)