全国计算机等级考试机试习题

上传人:仙*** 文档编号:243860384 上传时间:2024-10-01 格式:PPT 页数:43 大小:367.50KB
返回 下载 相关 举报
全国计算机等级考试机试习题_第1页
第1页 / 共43页
全国计算机等级考试机试习题_第2页
第2页 / 共43页
全国计算机等级考试机试习题_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,一、填空题,请补充,fun,函数,,fun,函数的功能是求,m,的阶乘。,请勿改动主函数,main,与其他函数中的任何内容,仅在,fun,函数的横线上填写所需的若干表达式或语句。,注意:部分源程序给出如下。,#include,long fun(int m),if(_1_),return(m*fun(_2_);,return _3_;,main(),printf(8!=%ldn,fun(8);,(,1,),m1,(,2,),m-1,(,3,),1,二、改错题,下列给定程序的功能是:读入一个整数,n,(,2n5000,),打印它的所有为素数的因子。例如,若输入整数,1234,,则应输出:,2,、,617,。,请修改程序中的错误,使程序能得出正确的结果。,注意:不要改动,main,函数,不能增行或删行,也不能更改程序的结构。,#include,#include,/*error*/,Prime(int m);,int j,p;,p=1;,/*error*/,for(j=2;jm;j+),if!(m%j),p=0;,break;,return(p);,main()int i,n;printf(nplease enter an integer number between 2 and 5000:);scanf(%d,(,1,),Prime(int m),(,2,),if(!(m%j),三、编程题数组,point,中存放着,m,个人的成绩,请编写函数,fun,,它的功能是:返回高于平均分的人数,并将高于平均分的分数放在,high,所指的数组中。例如,当,point,数组中的数据为,50,、,60,、,65,、,70,、,75,、,80,、,88,、,90,、,95,时,函数返回的人数应该是,5,,,high,中的数据应为,75,、,80,、,88,、,90,、,95,。请勿改动主函数,main,与其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。注意:部分源程序给出如下。,#include#include#include,int fun(int point,int n,int high),main()int j,m,high9;int point9=50,60,65,70,75,80,88,90,95;FILE*out;m=fun(point,9,high);printf(nHigh the average point are:);out=fopen(outfile.dat,w);for(j=0;jm;j+)printf(%d,highj);fprintf(out,%dn0,highj);fclose(out);,int j,k=0,average=0;for(j=0;jn;j+)average+=pointj;/,统计总分数,average/=n;/,求平均分,for(j=0;javerage)/,逐个判断每个分数是否大于平均分,highk=pointj;/,将高于平均分的人放入,high,数组,k+;/,统计大于平均分的人数,return k;,四、编程题请编写函数,fun,,它的功能是:求出,1,到,500,之内能被,7,或,11,整除,但不能同时被,7,和,11,整除的所有整数,并将它们放在,b,所指的数组中,通过,m,返回这些数的个数。请勿改动主函数,main,与其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。注意:部分源程序给出如下。,#include#include,void fun(int*b,int*m),main()int a500,m,i;FILE*out;fun(a,int j,k=0;for(j=2;j500;j+)/,循环条件,if(j%7=0|j%11=0)&j%77!=0)/,判断是否符合题干要求,bk+=j;/,将结果放入数组,b *m=k;/,将累加器值赋值给,m,五、改错题下列给定程序中,函数,fun,和,quest,的功能是:用二分法求方程,2x,3,-4x,2,+3x-6=0,的一个根,并要求绝对误差不超过,0.001,。例如,若给,m,输入,-50,,给,n,输入,30,,则函数求得的一个根值为,2.000,。请修改程序中的错误,得出正确的结果。注意:不要改动,main,函数,不能增行或删行,也不能更改程序的结构。,#include#include,double quest(double x)return(2*x*x*x-4*x*x+3*x-6);,double fun(double m,double n),/*error*/int r;r=(m+n)/2;/*error*/while(fabs(n-m)0.001)if(quest(r)*quest(n)0.001),六、编程题请编写函数,void fun(int y,,,int b,,,int*m),,它的功能是:求出能整除,y,且是奇数的各整数,并按从小到大的顺序放在,b,所指的数组中,这些除数的个数通过形参,m,返回。例如,若,y,中的值为,90,,则有,4,个数符合要求,它们是,1,、,3,、,5,、,9,、,15,、,45,。请勿改动主函数,main,与其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。注意:部分源程序给出如下。,#include#include,void fun(int y,int b,int*m),main()int y,a500,m,j;FILE*out;printf(nPlease input an integer number:n);scanf(%d,int j=1,i=0,k=0,*s=b;for(j=0;j=y;j+)if(j%2,!,=0)/,判断,j,是否是奇数,si=j;/,将小于,y,的奇数存入数组,s i+;/,累加小于,y,的奇数个数,for(j=0;ji;j+)if(y%sj=0)/,判断,y,是否被,sj,整除,bk=sj;/,将符合条件的结果存入数组,b k+;/,累加符合条件的结果个数,*m=k;,七、填空题请补充函数,fun(char*t),,该函数的功能是把字符串中的内容逆置。例如,字符串中原有的字符串为,ABCDE,,则调用该函数后,串中的内容为,EDCBA,。请勿改动主函数,main,与其他函数中的任何内容,仅在,fun,函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。,#include#include#include#define M 60,void fun(char*t),int j,m=strlen(t)-1;char s;for(j=0;jm;j+,_1_)s=tj;_2_;_3_;,main()char bM;printf(Input a string:);gets(b);printf(The original string is:);puts(b);fun(b);printf(n);printf(The reversal string:);puts(b);,(,1,),m-,(,2,),tj=tm,(,3,),tm=s,八、改错题下列给定程序中,函数,fun,的功能是:判断字符,ch,是否与,s,所指串中的某个字符相同,若相同,则什么也不做;若不同,则将其插在串的最后。请修改程序中的错误,使它能得出正确的操作。注意:不要改动,main,函数,不能增行或删行,也不能更改程序的结构。,#include#include#include,/*error*/,void fun(char s,char c)while(*s ,main()char str81,ch;printf(n Please enter a string:n);gets(str);printf(n Please enter the characterto search:);ch=getchar();fun(str,ch);printf(nThe result is%sn,str);,(,1,),void fun(char*s,char c),(,2,),if(*s=0),(,3,),s1=0;,九、编程题请编写函数,fun,,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如,若二维数组中的值为:,3,5,7,99,9,9,49,9,9,8,则函数值为,72,。请勿改动主函数,main,与其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。注意:部分源程序给出如下。,#include#include#define M 3#define N 4,int fun(int bMN),main()int aMN=3,5,7,9,9,9,9,4,9,9,9,8;int i,j,sum;FILE*out;printf(The original data is:n);,for(i=0;iM;i+)for(j=0;jN;j+)printf(%6d,aij);printf(n);sum=fun(a);printf(nThe sum:%dn,sum);printf(n);out=fopen(outfile.dat,w);fprintf(out,%d,sum);fclose(out);,int i,j,s=0;for(j=0;jN;j+)/,统计行元素,s+=b0j;s+=bM-1j;for(i=1;i=M-2;i+)/,统计列元素,s+=bi0;s+=biN-1;return s;,十、改错题下列给定程序中,fun,函数的功能是:将,n,个无序整数从小到大排序。请修改程序中的错误,得出正确的结果。注意:不要改动,main,函数,不能增行或删行,也不能更改程序的结构。,#include#include#include,fun(int n,int*b),int i,j,p,t;for(j=0;jbi)/*error*/t=i;if(p!=j)t=bj;bj=bp;bp=t;,putarr(int n,int*z)int i;for(i=1;i=n;i+,z+)printf(%4d,*z);if(!(i%10)printf(n);printf(n);,main()int a10=0,4,2,8,6,n=5;printf(nnBefore sorting%d numbers:n,n);putarr(n,a);fun(n,a);printf(nAfter sorting%d numbers:n,n);putarr(n,a);,(1)for(i=j+1;in;i+)(2)p=i;,十一、填空题给定程序的功能是计算,score,中,n,个人的平均成绩,aver,,将高于,aver,的成绩放在,high,中,通过函数名返回人数。例如,,score=88,75,50,60,80,90,,,n=6,时,函数返回的人数应该是,4,,,high=88,75,80,90,。请勿改动主函数,main,与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。,#include#include int fun(int score,int m,int high)int i,j=0;float aver=0.0;,for(i=0;im;i+),aver+=scorei;aver/=(float)m;for(i=0;iaver)highj+=_1_;return j;main()int i,n,high6;int score6=88,75,50,60,80,90;n=fun(score,6,_2_);printf(nThe high of average score are:);for(i=0;in;i+)printf(%d,_3_);,(,1,),scorei,(,2,),high,(,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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