




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、编程题(总分100)1.(分值:2.1分)编写程序求出555555的约数中最大的三位数是多少。参考答案:#includemain()int i,n=555555;for(i=999;i=100;i-)if(n%i=0)printf(最大约数是:%dn,i);break;elsecontinue;序号:10难度:2考查点:循环控制2.(分值:2.1分)输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。参考答案:#includemain()int a,i,n;printf(请输入一个整数:);scanf(%d,&a);for(;n!=0;a/=10)n=(int)a/10;n*=10;i=a-n;printf(%d,i);printf(n);序号:11难度:1考查点:循环控制3.(分值:2.1分)编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+前50项之和。参考答案:#includemain()int i;float s=0,a,b;for(i=1;i=50;i+)a=i*(i+1);b=1/a;s+=b;if(i50)printf(1/(%d*%d)+,i,i+1);elseprintf(1/(%d*%d)=,i,i+1);printf(%f,s);序号:110难度:1考查点:循环控制4.(分值:2.1分)编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+前50项之和。参考答案:#includemain()int i;float s=0,a,b;for(i=1;i=50;i+)a=i+(i+1);b=1/a;s+=b;if(i50)printf(1/(%d+%d)+,i,i+1);elseprintf(1/(%d+%d)=,i,i+1);printf(%f,s);序号:111难度:1考查点:循环控制5.(分值:2.1分)编一通用函数sub,分别统计字符串strg中字母A及a的个数;主函数中输入一不大于80个字符的字符串,调用上述函数,输出A及a的个数。(注:此程序不允许使用全局变量,不允许在sub函数中输出)参考答案:#includevoid main()int num1,num2;void sub(char ,int,int);char strg80;printf(请输入字符:n);gets(strg);sub(strg,&num1,&num2);printf(A的个数为:%dn,num2);printf(a的个数为:%dn,num1);void sub(char strg, int *n1,int *n2)int i,a=0,A=0;for(i=0;strgi!=0;i+)if(strgi=a)a+;else if(strgi=A)A+;*n1=a;*n2=A;序号:153难度:2考查点:函数6.(分值:2.1分)编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此数组中大于平均值的数据的个数;主函数中定义含有100个元素的数组x,xI=200*cos(I*0.875)(I=0,1,299),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。(注:此程序不允许使用全局变量,不允许在avernum函数中输出)参考答案:#include#includevoid main()void avernum(double ,int ,double *,int *);double x100;double pj;int i;avernum(x,100,&pj,&i);printf(平均值为%lfn,pj);printf(大于平均值的个数:%d,i);void avernum(double x,int w,double *npj,int *ni)double sum=0,pingjun,a;int geshu=0,i;for(i=0;iw;i+)a=i*0.875;xi=200*cos(a);sum+=xi;pingjun=sum/w;for(i=0;ipingjun)geshu+;*npj=pingjun;*ni=geshu;序号:154难度:2考查点:函数7.(分值:2.1分)编一通用函数avermax,计算含有n个数据的一维数组的平均值,并求出此数组中大于平均值的数据之和;主函数中定义含有300个元素的数组x,xI=10*cos(3.0+I*I)/5)(I=0,1,2299),调用上述函数,输出此数组的平均值及大于平均值的数据之和。(注:此程序不允许使用全局变量,不允许在avermax函数中输出)参考答案:#include#includevoid main()void avermax(double ,int ,double *,double *);double x300;double pj,i;avermax(x,300,&pj,&i);printf(平均值为%lfn,pj);printf(大于平均值的总和:%lf,i);void avermax(double x,int w,double *npj,double *ni)double sum1=0,sum2=0,pingjun,a,b,c;int i;for(i=0;iw;i+)b=i*i;c=3.0+b;a=c/5;xi=10*cos(a);sum1+=xi;pingjun=sum1/w;for(i=0;ipingjun)sum2+=xi;*npj=pingjun;*ni=sum2;序号:155难度:2考查点:函数8.(分值:2.1分)编一通用函数maxsub,求出含有n个数据的一维数组的最大值及其所在位置(即下标);主函数中定义含有300个元素的数组x,xI=10*cos(3.0+I*I)/5)(I=0,1,2299),调用上述函数,输出此数组的最大值及其所在位置。(注:此程序不允许使用全局变量,不允许在avermax函数中输出)参考答案:#include#includevoid main()void maxsub(double ,int ,double *,int *);double x300;double da;int wz;maxsub(x,300,&da,&wz);printf(最大值为:%lfn,da);printf(最大值位置是::%d,wz+1);void maxsub(double x,int w,double *nda,int *nweizhi)double zuida,a,b,c;int i,weizhi;for(i=0;iw;i+)a=i*i;b=3.0+a;c=b/5;xi=10*cos(c);if(ixi+1)zuida=xi;weizhi=i;else if(i=w-1)if(xizuida)zuida=xi;weizhi=i;*nda=zuida;*nweizhi=weizhi;序号:156难度:2考查点:函数9.(分值:2.1分)编一函数,统计一维整数组小于数组元素平均值的元素的个数;主函数定义x50,xi=600*cos(i*0.35),调用函数,输出小于数组元素平均值的元素的个数。参考答案:#include#includevoid main()void gongshi(double ,int ,int *);double x50;int gs;gongshi(x,50,&gs);printf(%dn,gs);void gongshi(double x,int w,int *ngeshu)double a,sum=0,pingjun;int i,geshu=0;for(i=0;iw;i+)a=i*0.35;xi=600*cos(a);sum+=xi;pingjun=sum/w;for(i=0;iw;i+)if(xipingjun)geshu+;*ngeshu=geshu;序号:158难度:2考查点:函数10.(分值:2.1分)编一函数,求有50个元素的一维整数组中最大值的位置;主函数中定义y50,yj=600*sin(j*0.16),调用函数,输出最大值及其位置。参考答案:#include#includevoid main()void maxsub(double ,int ,double *,int *);double x50;double da;int wz;maxsub(x,50,&da,&wz);printf(最大值为:%lfn,da);printf(最大值位置是::%d,wz+1);void maxsub(double x,int w,double *nda,int *nweizhi)double zuida,a,b,c;int j,weizhi;for(j=0;jw;j+)a=j*0.16;xj=600*sin(a);if(jxj+1)zuida=xj;weizhi=j;else if(j=w-1)if(xjzuida)zuida=xj;weizhi=j;*nda=zuida;*nweizhi=weizhi;序号:159难度:2考查点:函数11.(分值:2.1分)求一维实型数组中最大元素。要求:主函数中定义含有300个元素的数组x,xi=10*cos(3.0+i*i)/5)(i=0,1,2299),调用自定义函数qmax求出最大元素,然后在主函数中输出结果。参考答案:#include#includevoid main()void qmax (double ,int ,double *);double x300;double da;qmax (x,300,&da);printf(最大值为:%lfn,da);void qmax (double x,int w,double *nda)double zuida,a,b,c;int i;for(i=0;iw;i+)a=i*i;b=3.0+a;c=b/5;xi=10*cos(c);if(ixi+1)zuida=xi;else if(i=w-1)if(xizuida)zuida=xi;*nda=zuida;序号:162难度:2考查点:函数12.(分值:2.1分)求一维整型数组中的最小元素。要求:主函数定义数组y50,yj=600*sin(j*0.16)(j=0,1,249),调用自定义函数qmin求出最小元素,最后在主函数中输出结果。参考答案:#include#includevoid main()void qmin(double ,int ,double *);double y50;double xiao;qmin(y,50,&xiao);printf(最小值为:%lfn,xiao);void qmin(double y,int w,double *nxiao)double zuixiao,a,b,c;int j;for(j=0;jw;j+)a=j*0.16;yj=600*sin(a);for(j=0;jyj+1)zuixiao=yj+1;*nxiao=zuixiao;序号:163难度:2考查点:函数13.(分值:2.1分)求一维整型数组中正数的和。要求:主函数定义数组a10,从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果参考答案:#include#includevoid main()void hanshu(double ,int ,double *);double a10,he;int i;printf(请输入10个数:n);for(i=0;i10;i+)printf(第%d个数:,i+1);scanf(%lf,&ai);hanshu(a,10,&he);printf(%lf,he);void hanshu(double a,int w,double *nhe)int i;double zhengshuhe=0;for(i=0;i0)zhengshuhe+=ai;*nhe=zhengshuhe;序号:164难度:2考查点:函数14.(分值:2.1分)求n!。参考答案:#includevoid main()int i,n,he;printf(请输入n:n);scanf(%d,&i);n=i;for(he=1;i0;i-)he*=i;printf(%d!=%d,n,he);#includevoid main()int jiecheng(int);int i,he;printf(请输入n:n);scanf(%d,&i);he=jiecheng(i);printf(%d!=%d,i,he);int jiecheng(int i)int ji;for(ji=1;i0;i-)ji*=i;return ji;序号:170难度:1考查点:循环控制15.(分值:2.1分)通过调用自定义函数来完成求圆柱体的体积(v=3.14*r2*h),要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。参考答案:#include#define p 3.14void main()double v(double,double);double r,h;double tiji;printf(请输入半径:n);scanf(%lf,&r);printf(请输入高:n);scanf(%lf,&h);tiji=v(r,h);printf(圆柱体体积为%g,tiji);double v(double r,double h)double tiji;tiji=p*r*r*h;return tiji;序号:173难度:1考查点:函数16.(分值:2.1分)通过调用自定义函数完成求正方形的体积(要求:正方体的的边长在主函数中做输入,正方体的体积在主函数中做输出)。参考答案:#includevoid main()double tiji(double);double bc,jieguo;printf(请输入正方体边长:n);scanf(%lf,&bc);jieguo=tiji(bc);printf(边长为%g的正方体体积为:%gn,bc,jieguo);double tiji(double bc)double jieguo;jieguo=bc*bc*bc;return jieguo;序号:176难度:1考查点:函数17.(分值:2.1分)通过调用自定义函数完成找两个数的最大值(要求:在主函数中输入两个数并且在主函数中输出最大值)。参考答案:#includevoid main()int Hmax(int,int);int a,b,c;printf(请输入两个数:);scanf(%d %d,&a,&b);c=Hmax(a,b);printf(%d和%d的最大值是%d,a,b,c);int Hmax(int a,int b)int MAX;if(ab)MAX=a;elseMAX=b;return MAX;序号:178难度:1考查点:函数18.(分值:2.1分)输入10个整数,统计同时能被3和7整除的个数,将结果输出。参考答案:#includevoid main()int n=0,i,num;for(i=1;i=10;i+)printf(请输入第%d个数:n,i);scanf(%d,&num);if(num!=0)if(num%3=0)&(num%7=0)n+;elsecontinue;elseprintf(输入有误。n);continue;printf(能被3和7整数的个数为:%d,n);序号:179难度:1考查点:循环控制19.(分值:2.1分)编写一个sum函数求和:输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。参考答案:#includevoid main()int sum(int);int n,num;printf(请输入一个正整数:n);scanf(%d,&num);n=sum(num);printf(不大于%d的所有正偶数的和为:%d,num,n);int sum(int num)int i,he=0;for(i=2;i=num;i=i+2)he+=i;return he;序号:181难度:1考查点:循环控制20.(分值:2.1分)求圆锥体积:在主函数中输入半径和高度,调用函数求体积,要求在主函数中输出圆锥的体积。(公式v=h*3.14*r2/3)参考答案:#includevoid main()float V(float,float);float r,h,v;printf(请输入高:n);scanf(%f,&h);printf(请输入半径:n);scanf(%f,&r);v=V(h,r);printf(体积为:%gn,v);float V(float h,float r)float a,b,tiji;a=h*3.14*r*r;tiji=a/3;return tiji;序号:182难度:1考查点:函数21.(分值:2.1分)通过函数调用求华氏温度,要求在主函数中输入摄氏温度,在主函数中输出华氏温度。(公式f=5/9*c+32)参考答案:#includefloat Huatemp(float She)float Hua;Hua=5.0/9.0*She+32;printf(华氏温度是:%f,Hua);void main()float C,a;printf(请输入摄氏温度:n);scanf(%f,&C);Huatemp(C);scanf(%f,&a);序号:183难度:1考查点:函数22.(分值:2.1分)调用函数求梯形面积,要求在主函数中输入上底、下底和高,在主函数中输出梯形面积的值。(公式s=(a+b)*h/2)参考答案:#includevoid main()float S(int,int,int);int a,b,h;float s;printf(请输入上底:n);scanf(%d,&a);printf(请输入下底:n);scanf(%d,&b);printf(请输入高:n);scanf(%d,&h);s=S(a,b,h);printf(梯形面积为:%gn,s);float S(int a,int b,int h)float linshi,mianji;linshi=a+b;mianji=linshi*h/2;return mianji;序号:184难度:1考查点:函数23.(分值:2.1分)编程求1+(1+2)+R-+(1+2+R-+n),n的值由键盘输入。参考答案:序号:187难度:1考查点:循环控制24.(分值:2.1分)求包含10个元素的一维整型数组中的最小元素。要求:在主函数定义数组并且输入10个元素的值,调用自定义函数求出最小元素,最后在主函数中输出结果。参考答案:#includevoid main()int Hmin(int );int a10;int i,nmin;for(i=0;i10;i+)printf(请输入第%d个数:n,i+1);scanf(%d,&ai);nmin=Hmin(a);printf(最小元素为:%dn,nmin);int Hmin(int a)int i,n=a0;for(i=1;i10;i+)if(ain)n=ai;elsecontinue;return n;序号:191难度:1考查点:函数25.(分值:2.1分)通过调用自定义函数完成找两个数的最小值(要求:在主函数中输入两个数并且在主函数中输出最小值)。参考答案:#includevoid main()int Hmin(int,int);int a,b,c;printf(请输入两个数:);scanf(%d %d,&a,&b);c=Hmin(a,b);printf(%d和%d的最小值是%d,a,b,c);int Hmin(int a,int b)int MIN;if(ab)MIN=a;elseMIN=b;return MIN;序号:194难度:1考查点:函数26.(分值:2.1分)编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。参考答案:#includevoid main()void fun(int);int a;printf(请输入一个数:n);scanf(%d,&a);fun(a);void fun(int a)int b,c;b=a%5;c=a%7;if(b=0)|(c=0)printf(yesn);elseprintf(non);序号:197难度:1考查点:函数27.(分值:2.1分)从键盘输入一个学生的分数,要求实现这样的判断功能:如果分数大于100,输出RInputerror!R如果分数介于100到90之间,输出RVeryGood!R如果分数介于80到90只,输出RGood!R如果分数介于70到80之间,输出RMiddleR如果分数介于60到70之间,输出RPassR如果分数小于60,输出RNoPass!R参考答案:#includevoid main()int n;printf(请输入一个学生的分数:n);scanf(%d,&n);if(n100)printf(Inputerror!n);else if(n90)printf(VeryGood!n);else if(n80)printf(Good!n);else if(n70)printf(Middle!n);else if(n60)printf(Pass!n);elseprintf(NoPass!n);序号:199难度:1考查点:逻辑运算和判断选取控制28.(分值:2.1分)键盘输入10个实型数,求其倒数的和并输出.参考答案:#includevoid main()int i;double n,sum=0;for(i=1;i=10;i+)printf(请输入第%d个数:n,i);scanf(%lf,&n);n=1/n;sum+=n;printf(倒数和为:%g,sum);序号:2难度:1考查点:循环控制29.(分值:2.1分)判断一个学生成绩的R优、良、中、差R:假如从键盘输入的字母是RAR,输出评语RYouareExcellent!R;如果输入RBR,输出评语RYouarewell! R;如果输入RCR,输出评语RYouarepassing!R;如果输入RDR,输出评语RYouarenotpassing!R。如果输入的不是这四个字母,则出现提示RInputerror!R请编写一个程序,实现该判断功能。参考答案:#includevoid main()char g;printf(请输入等级:n);scanf(%c,&g);if(g=A)printf(YouareExcellent!n);else if(g=B)printf(Youarewell!n);else if(g=C)printf(Youarepassing!n);else if(g=D)printf(Youarenotpassing!n);elseprintf(Inputerror!n);序号:200难度:1考查点:逻辑运算和判断选取控制30.(分值:2.1分)输入一个整数,判断该数是奇数还是偶数。参考答案:#includemain()int a;printf(请输入一个数:);scanf(%d,&a);if(a%2=0)printf(%d是偶数n,a);else printf(%d是奇数n,a);序号:211难度:1考查点:逻辑运算和判断选取控制31.(分值:2.1分)编写程序求下式的值:S=21*1!+22*2!+2n*n!(n0;n-)num*=n;return num;int chengfang(int n)int a=2,num=1;for(;n0;n-)num*=a;return num;int numS(int n,int *anS)int S=0;int num;int a,b;for(;n0;n-)a=jiecheng(n);b=chengfang(n);num=a*b;S+=num;*anS=S;void main()int anS;int n;printf(请输入一个小于10的整数:n);scanf(%d,&n);if(n0)numS(n,&anS);printf(%dn,anS);elseprintf(输入错误!n);序号:22难度:2考查点:函数32.(分值:2.1分)编写一个函数,判断一个整数是否能同时被5和7整除,在main函数中完成输入和输出。参考答案:同26序号:242难度:1考查点:函数33.(分值:2.1分)从键盘接收三个整数,编程求出最小数。参考答案:#includevoid main()int Hmin(int,int,int);int a,b,c,min;printf(请输入三个数:n);scanf(%d %d %d,&a,&b,&c);min=Hmin(a,b,c);printf(最小数为:%dn,min);int Hmin(int a,int b,int c)int n;if(ab)n=b;elsen=a;if(nc)n=c;return n;序号:247难度:1考查点:逻辑运算和判断选取控制34.(分值:2.1分)从键盘接收三个整数,编程输出最大数。参考答案:#includevoid main()int Hmax(int,int,int);int a,b,c,max;printf(请输入三个数:n);scanf(%d %d %d,&a,&b,&c);max=Hmax(a,b,c);printf(最大数为:%dn,max);int Hmax(int a,int b,int c)int n;if(ab)n=a;elsen=b;if(nc)n=c;return n;序号:249难度:1考查点:逻辑运算和判断选取控制35.(分值:2.1分)从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则给出提示信息R输入错误!R。参考答案:#include int main( ) char c;printf(请输入字符:);scanf(%c,&c);if(a=c&c=z)|(A=c&c=Z)printf(字符为:%dn,c);else if(0=c&c=9)printf(数字为ASCII码:%dn,c);elseprintf(输入错误!n);序号:253难度:1考查点:逻辑运算和判断选取控制36.(分值:2.1分)用循环结构程序设计方法,输出一个九九乘法表。参考答案:#include stdio.hmain()int i,j,result; for (i=1;i10;i+) for(j=1;j10;j+) result=i*j; printf(%d*%d=%-3d,i,j,result); printf(n); 序号:256难度:1考查点:循环控制37.(分值:2.1分)从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。参考答案:#includevoid main()int n,i,a=0,b=0,c=0;for(i=1;i0)a+=1;else if(n0)b+=1;else if(n=0)c+=1;printf(正数个数为:%dn,a);printf(负数个数为:%dn,b);printf(零的个数为:%dn,c);序号:265难度:1考查点:循环控制38.(分值:2.1分)个人所得税计算,应纳税款的计算公式如下:收入税率收入1000元部分02000元收入1000元的部分53000元收入2000元的部分106000元收入3000元的部分15收入6000元的部分20输入某人的收入,计算出应纳税额及实际得到的报酬。参考答案:12序号:279难度:2考查点:逻辑运算和判断选取控制39.(分值:2.1分)输入x,计算并输出下列分段函数sign(x)的值。要求定义和调用函数sign(x)实现该分段函数。sign(x)=1x00x=0-1x0参考答案:#includevoid main()void sign(int);int x;printf(请输入一个数:n);scanf(%d,&x);sign(x);void sign(int x)if(x0)printf(1n);else if(x=0)printf(0n);else if(x0)printf(-1n);序号:317难度:1考查点:函数40.(分值:2.1分)输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如果不是,则不转换,然后输出所得到字符。参考答案:#includevoid main()char cZiFu;printf(请输入一个字符:n);scanf(%c,&cZiFu);if(a=cZiFu)&(cZiFu=z)printf(%cn,cZiFu-32);elseprintf(%cn,cZiFu);序号:320难度:1考查点:逻辑运算和判断选取控制41.(分值:2.1分)计算s=1-2!+3!-4!+-10!的值并输出。参考答案:#includeint jiecheng(int a)int sum=1;for(;a0;a-)sum=sum*a;return sum;main()int n,i=1;int a=-1;int b,c;int sum=0;printf(请输入最大阶乘数:n);scanf(%d,&n);for(;i=n;i+)b=jiecheng(i);a*=-1;c=a*b;sum+=c;printf(算式总和为:%dn,sum);序号:4难度:2考查点:循环控制42.(分值:2.1分)编程判断输入的正整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。参考答案:#includevoid main()void fun(int);int a;printf(请输入一个数:n);scanf(%d,&a);fun(a);void fun(int a)int b,c;b=a%5;c=a%7;if(b=0)|(c=0)printf(yesn);elseprintf(non);序号:6难度:2考查点:逻辑运算和判断选取控制43.(分值:2.1分)打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是一水仙花数,因为153=13+53+33.参考答案:#includeint lifang(a)int b;b=a*a*a;return b;int sum(int a)int b,c,d;for(c=0;a!=0;)b=(int)a/10;b=b*10;d=a-b;d=lifang(d);c=c+d;a/=10;return c;void main()int b,c,lif,n,a;for(a=100;a=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论