国家计算机二级C语言机试程序设计试题及答案.docx
- 文档编号:5877179
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:47
- 大小:1.01MB
国家计算机二级C语言机试程序设计试题及答案.docx
《国家计算机二级C语言机试程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《国家计算机二级C语言机试程序设计试题及答案.docx(47页珍藏版)》请在冰豆网上搜索。
国家计算机二级C语言机试程序设计试题及答案
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; } doublefun(doubleeps) { doubles=1.0,s1=1.0; intn=1; while(s1>=eps) {s1=s1*n/(2*n+1); s=s+s1; n++; } return2*s; } voidfun(int*a,int*n) { inti,j=0; for(i=1;i<=1000;i++)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/ if((i%7==0||i%11==0)&&i%77! =0) a[j++]=i; *n=j; } voidfun(char*a) { inti,j=0; for(i=0;a[i]! ='\0';i++) if(a[i]! ='*') a[j++]=a[i];/*若不是要删除的字符'*'则留下*/ a[j]='\0'; } 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'; } voidfun(STREC*a) { inti; a->ave=0.0; for(i=0;i a->ave=a->ave+a->s[i];/*求各门成绩的总和*/ a->ave/=N;/*求平均分*/ } doublefun(STREC*h) { doubleave=0.0; STREC*p=h->next; while(p! =NULL) {ave=ave+p->s; p=p->next; } returnave/N; } 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;/*返回非素数的个数*/ } ntfun(char*ss,charc) { inti=0; for(;*ss! ='\0';ss++) if(*ss==c) i++;/*求出ss所指字符串中指定字符的个数*/ returni; } floatfun(float*a,intn) { inti; floatav=0.0; for(i=0;i av=av+a[i]; return(av/n);/*返回平均值*/ } 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];/*找出成绩与max相等的学生的记录,存入结构体b中*/ returnj;/*返回最高成绩的学生人数*/ } voidfun(char*a) { inti=0; char*p=a; while(*p&&*p=='*') { a[i]=*p; i++; p++; } while(*p) { if(*p! ='*') {a[i]=*p;i++;} p++; } a[i]='\0'; } voidfun(char*tt,intpp[]) { inti; for(i=0;i<26;i++) pp[i]=0;/*初始化pp数组各元素为0*/ for(;*tt! ='\0';tt++) if(*tt>='a'&&*tt<='z') pp[*tt-'a']++; } voidfun(char*a) { while(*a! ='\0') a++; a--;/*指针a指向字符串的尾部*/ while(*a=='*') a--;/*指针a指向最后一个字母*/ *(a+1)='\0';/*在字符串最后加上结束标志符*/ } char*fun(char*s,char*t) { inti,j; for(i=0;s[i]! ='\0';i++);/*求字符串的长度*/ for(j=0;t[j]! ='\0';j++); if(i<=j)/*比较两个字符串的长度*/ returnt;/*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/ else returns; } STRECfun(STREC*a,char*b) {inti; STRECstr={"\0",-1};/*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/ for(i=0;i if(strcmp(a[i].num,b)==0)/*找到指定学号的学生数据*/ str=a[i]; returnstr;/*返回学生记录*/ } voidfun(char*s,chart[]) { inti,j=0; for(i=0;s[i]! ='\0';i++) if(i%2==0&&s[i]%2==0)/*将s所指字符串中下标和ASCII码值都为偶数的字符放入数组t中*/ t[j++]=s[i]; t[j]='\0';/*在字符串最后加上结束标识*/ } doublefun() { doublex0,x1; x1=0.0; do { x0=x1; x1=cos(x0); }while(fabs(x0-x1)>=1e-6); returnx1; } voidfun(char*a) { inti=0,n=0; char*p; p=a; while(*p=='*')/*判断*p是否是*号,并统计*号的个数*/ { n++;p++; } while(*p)/*将前导*号后的字符传递给a*/ { a[i]=*p;i++;p++; } while(n! =0) { a[i]='*';i++;n--; } a[i]='\0'; } intfun(STREC*a,STREC*b) { inti,j=0,min=a[0].s; for(i=0;i if(min>a[i].s) min=a[i].s;/*找出最小值*/ for(i=0;i if(min==a[i].s) b[j++]=a[i];/*找出成绩与min相等的学生的记录,存入结构体b中*/ returnj; } doublefun(intm) { inti; doubles=0.0; for(i=1;i<=m;i++) s=s+log(i);/*计算s=ln (1)+ln (2)+ln(3)+…+ln(m)*/ returnsqrt(s);/*对s求平方根并返回*/ } voidfun(char*a,intn,inth,inte) { inti,j=0; for(i=h;i a[j++]=a[i]; a[j]='\0';/*在字符串最后加上结束标识*/ } voidfun(char*s,chart[]) { inti,j=0,k=strlen(s);/*k为字符串的长度*/ for(i=1;i t[j++]=s[i]; t[j]='\0'; } voidfun(inta,intb,long*c) { *c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000; } voidfun(char*a,char*p) { char*t=a; for(;t<=p;t++) if(*t! ='*') *(a++)=*t; for(;*t! ='\0';t++) *(a++)=*t; *a='\0'; /*在字符串最后加上字符串结束标识*/ } 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;}/*按分数的高低排列学生的记录,高分在前*/ } 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;}/*将高于等于平均分的学生存入b所指存储单元中,并统计人数*/ returnav;/*返回平均分*/ } voidfun(intm,int*a,int*n) { inti,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0)/*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/ a[j++]=i; *n=j;/*返回这些数的个数*/ } voidfun(char*a) { char*p=a; while(*p=='*')p++;/*指针p指向字符串第一个字母*/ for(;*p! ='\0';p++,a++) *a=*p;/*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/ *a='\0';/*在字符串最后加上字符串结束标识*/ } doublefun(STREC*h) { doublemax=h->s; while(h! =NULL)/*通过循环找到最高分数*/ {if(max h=h->next; } returnmax; } voidfun(inta[],intn,int*max,int*d) { inti; *max=a[0]; *d=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 计算机 二级 语言 程序设计 试题 答案