c语言程序设计编程题库.docx_第1页
c语言程序设计编程题库.docx_第2页
c语言程序设计编程题库.docx_第3页
c语言程序设计编程题库.docx_第4页
c语言程序设计编程题库.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

难度1循环结构4计算 s=1-2!+3!-4!+-10!的值并输出。 -3301819#includevoid main()int n,t=1,f=-1;int sum=0;for(n=1;n=10;n+)t=t*n;f=-f;sum=sum+t*f;printf(%d,sum);9计算 s=1-1/3 + 1/5- 1/7+1/101 的值并输出 0.790300#includevoid main()int n,f=-1;float t,sum=0;for(n=1;n=51;n+)t=1.0/(2*n-1);f=-f;sum=sum+t*f;printf(%f,sum);10编写程序求出 555555的约数中最大的三位数是多少。 要求必须使用 do-while语句实现。 #include#define y 555555void main()int n=100;int max=0;do if(y%n=0) max=n;n+;while(n999);printf(%d,max);11输入一个正整数, 要求以相反的顺序输出该数。 例如输入12345, 输出位54321。注:1 不得使用数组;2 必须使用 while 语句实现。 #include void main() int x;scanf(“%d”,&x);while()110编写程序,求s=1/(1*2)+1/(2*3)+1/(3*4)+前50项之和。要求必须使用for语句实现。 0.980393#include void main( ) int i; float sum=0; for(i=1;i=50;i+)sum=sum+1.0/(i*(i+1); printf(ns=%fn,sum);111编写程序,求s=1/(1+2)+1/(2+3)+1/(3+4)+前50项之和。要求必须使用while 语句实现。 #include void main( ) int i=1; float sum=0;while(i=50) sum=sum+1.0/(i+(i+1); i+; printf(ns=%fn,sum); 1.947676179输入 10个整数,统计同时能被 3和 7 整除的个数,结果存放在变量 ncount中。将 ncoun 输出。要求必须使用 do-while 语句实现。#include stdio.hvoid main()int a10 ;int i=0 ,ncount=0;do scanf(%d,&ai); i+;while(i10);i = 0 ; do if(ai%3 = 0 & ai % 7 = 0) ncount+;i+;while(i10); printf(%d, ncount);181编写一个sum函数求和:输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。要求用 do-while 语句实现。#include stdio.hvoid main()int n,sum=0,i ;printf(请输入一个正整数:);scanf(%d,&n) ; i = 2;do sum=sum+i;i+=2;while(in);printf(%dn,sum) ;187编程求1+(1+2)+(1+2+n),n的值由键盘输入。要求使用 for语句实现 #include void main( ) int i,j=0,n; int sum=0; printf(请输入n的值:); scanf(%d,&n); for(i=1;i=n;i+) j=j+i; sum=sum+j; printf(ns=%dn,sum); 265从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。要求使用 while 语句。#includestdio.hvoid main()int a10,i,p=0,n=0,z=0;printf(输入10个整数:);i=0;while(i0)p+;else if (ai0) n+;else z+; i+;printf(正数:%d,负数:%d,零:%dn,p,n,z);函数 难度1173编写自定义函数 volume_cy,功能是求圆柱体的体积(v=3.14*r2*h),要求圆柱体的高 h 和底半径 r 在主函数中输入,圆柱体的体积在主函数中做输出。h,r 均为 float型变量。 #include float volume_cy(float r,float h)return (3.14*r*r*h);void main()float r,h,v;printf(请输入圆柱体的半径和高度);scanf(%f %f,&r,&h);v=volume_cy(r,h);printf(n圆柱体的体积为%fn,v);176编写自定义函数 volume_c,功能是求正方体的体积(要求:正方体的的边长 a 在主函数中做输入,在主函数中调用函数 volume_c,在主函数中输出正方体体积,a 为int 型变量) 。 #include float volume_c(int a)return (a*a*a);void main()int a; float v;printf(请输入正方形的边长:);scanf(%d,&a);v=volume_c(a);printf(n正方形的的体积为%fn,v);178编写函数max, 功能是找出两个数的较大值。 在主函数中输入两个整数num1,num2,调用函数 max,在主函数中输出 num1 和 num2 较大值。#include void main()int max(int x, int y); int num1,num2,max1; printf(请输入两个数:n); scanf(%d%d,&num1,&num2); max1=max(num1,num2); printf(max=%dn,max1);int max(int x,int y)int m; m=xy?x:y;return m;182定义函数 areat,功能是求圆锥体积。在主函数中输入半径 r和高 h,调用函数 areat 求体积,并在主函数中输出圆锥的体积。其中变量 r,h 均为 double 型数据。 (公式v=h*3.14*r2/3)#include float areat(double r,double h)return 3.14*r*r*h/3.0;void main()float r,h,v;printf(请输入圆锥体的半径和高度);scanf(%f %f,&r,&h);v=areat(r,h);printf(n圆锥体的体积为%fn,v);183定义函数 fra,功能是求华氏温度,要求在主函数中输入摄氏温度 c,调用函数 fra,在主函数中输出华氏温度 f。要求变量 c,f均为 float型数据(公式 f=5/9*c+32) #include float fra(float c)return 5.0/9*c+32.0;void main()float f,c;printf(请输入摄氏温度:);scanf(%f,&c);f=fra(c);printf(n对应的华氏温度为%fn,f);184定义函数 areat,功能是求梯形面积。要求在主函数中输入上底(用变量 a存储)、下底(用变量 b 存储)、和高(用变量 h 存储),在主函数中调用函数 areat,输出梯形面积(用变量 s 存储)的值。其中,变量 a,b,h,s 数据类型均为 double。公式:s=(a+b)*h/2 #include double areat(double a,double b,double h)return (a+b)*h/2;void main()double a,b,h,s;printf(请输入梯形的上底、下底和高度);scanf(%f %f %f,&a,&b,&h);s=areat(a,b,h);printf(n梯形的面积为%fn,s);194)编写自定义函数 min,函数功能是找出两个数的较小值。在主函数中输入两个数,分别保存在变量 a 和变量b,并且在主函数中调用函数 min,输出 a 和b 的较小值。 #include void main () int min(int x, int y); int a,b,min1; printf(请输入两个数:n); scanf(%d%d,&a,&b); min1=min(a,b); printf(min=%dn,min1);int min(int x,int y) int m; m=xy?x:y;return m;197编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。#include void main() void fun(int);int a; scanf(%d,&a); 对应的结果fun(a) ; 35 yesvoid fun(int x) 49 if(x%5=0&x%7=0) printf(yesn); no else printf(non); return ; 242编写一个函数div,定义该函数的返回值类型为int,功能是判断一个整数n是否能同时被5 和7 整除,如果能,那么函数返回值为1;如果不能,那么函数返回值为0。在main 函数中完成数据输入,函数调用和数据输出。#include void main() int div(int);int a,y; scanf(%d,&a); y=div(a) ;printf(y=%d,y);int div(int x) int y;if(x%5=0&x%7=0) y=1; else y=0; return(y) ;317)编写函数sign,功能是计算下列分段函数sign(x)的值。在主函数中输入一个数,保存在变量x 中,调用函数sign,在主函数中输出结果。要求x 为double 型变量。sign(x)=1 x0 0 x=0 -1 x0 7#includedouble sign(double x)double b;if(x=0)b=0;else if(x0)b=-1;elseb=1;return b;void main()double x,b;scanf(%f,&x);b=sign(x);printf(%le,b);逻辑运算和判断选取控制6编程判断输入的正整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。#include void main()int n;scanf(%d,&n);if(n%5=0&n%7=0)printf(yesa);else printf(noa);8编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为a,8089分为b,7079分为c,6069分为d,60分以下为e。要求必须使用switch-case 结构实现。#include stdio.hint main()int score,g;printf(请输入百分制成绩:);scanf(%d,&score);g=score/10;switch(g)case 1:case 2:case 3:case 4:case 5:printf(en);break;case 6:printf(dn);break;case 7:printf(cn);break;case 8:printf(bn);break;case9: printf(an);break;default: printf(input error!);93编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。要求必须使用switch-case语句实现。#include void main ( ) float data1, data2; char op; printf(enter your expression:); scanf(%f%c%f, &data1,&op,&data2); switch(op) case +: printf(%.2f+%.2f=%.2fn, data1, data2, data1+data2); break; case - : printf(%.2f-%.2f=%.2fn, data1, data2, data1-data2); break; case * : printf(%.2f*%.2f=%.2fn, data1, data2, data1*data2); break; case / : if( data2=0 ) printf(division by zero.n); else printf(%.2f/%.2f=%.2fn, data1, data2, data1/data2); break; default: printf(unknown operater.n); 94已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率 0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。#include stdio.hint main()float money,y;printf(请输入存钱的本金和期限:);scanf(%f%f,&money,&y);if (y=1)money=money+0.00315*12*y;printf(到期时利息和本金合计为%f元。n,money);else if (y=2)money=money+0.00330*12*y;printf(到期时利息和本金合计为%f元。n,money);else if (y=3)money=money+0.00345*12*y;printf(到期时利息和本金合计为%f元。n,money);else if (y=5)money=money+0.00375*12*y;printf(到期时利息和本金合计为%f元。n,money);else if (y=8)money=money+0.00420*12*y;printf(到期时利息和本金合计为%f元。n,money);else printf(没有这种存款方式!);return 0;199从键盘输入一个学生的分数, 要求实现这样的判断功能: 如果分数大于100,输出”input error!” 如果分数介于100到90之间, 输出”very good!” 如果分数介于80到90只,输出”good!” 如果分数介于70到80之间,输出”middle” 如果分数介于60到70之间, 输出”pass” 如果分数小于60,输出”no pass!” 。要求必须使用if-elseif 结构实现。#include void main()int score;printf(your score:);scanf(%d,&score);if(score100) printf(input error!n);else if (score90)printf(very good!n); else if (score80) printf(good!n); else if (score70) printf(middlen); else if(score60) printf(passn); else printf(no pass!n);200判断一个学生成绩的“优、良、中、差”: 假如从键盘输入的字母是a,输出评语“you are excellent!”; 如果输入b,输出评语“you are well!”; 如果输入c,输出评语“you are passing!”; 如果输入d,输出评语“you are not passing!”。 如果输入的不是这四个字母,则出现提示“input error!” 请编写一个程序,实现该判断功能。要求必须使用switch-case 结构实现。#include void main()char grade;printf(please input a grade:);scanf(%c,&grade);switch(grade)case a:printf(you are excellent!n);break;case b:printf(you are well!n);break;case c:printf(you are passing!n);break;case d:printf(you are not passing!n);break;default:printf(input error!n);211输入一个整数,判断该数是奇数还是偶数。要求必须使用if-else 结构实现。#include void main()int x;printf(please input a number:);scanf(%d,&x);if(x%2=0)printf(ou shun);else printf(ji shun);247从键盘接收三个整数,分别存放在变量a,b,c 中,编程求出最小数。xxxxxx#include void main()int a,b,c,min;printf(please input 3 numbers:);scanf(%d,%d,%d,&a,&b,&c);if(ab)min=a;else min=b;if(minc)printf(min=%dn,min);else printf(min=%dn,c);249从键盘接收三个整数,分别存在变量x,y,z 中。编程输出最大数。#include void main()int x,y,z,max;printf(please input 3 numbers:);scanf(%d,%d,%d,&x,&y,&z);if(xy)max=x;else max=y; if(maxz) printf(max=%dn,max); else printf(max=%dn,z);253从键盘接收一个字符,如果是字母,输出其对应的ascii码,如果是数字,按原样输入,否则给出提示信息“输入错误!”。#include void main()char c;printf(please input a char:);c=getchar();if(c=a&c=a&c=0&c=9)printf(%cn,c);else printf(输入错误!n);279个人所得税计算,应纳税款的计算公式如下:收入税率收入收入1000元的部分53000元收入2000元的部分106000元收入3000元的部分15收入6000元的部分20输入某人的收入,计算出应纳税额及实际得到的报酬。,要求必须使用if-else 结构完成。#include void main()float i,n,tax; /*定义收入,实际收入,个人所得税*/printf(please input your income:);scanf(%f,&i);if(i1000&i2000&i3000&i6000)tax=i*0.2;n=i-tax;printf(个人所得税=%.1f 实际报酬=%.2fn,tax,n);else printf(error!n);320输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如果不是,则不转换,然后输出所得到的字符。#include”stdio.h”void main() char c; printf(“输入一个字符:”); scanf(“%c”,&c); if (c=a&c=z) printf(“%cn”,c-32); else printf(“%cn”,c);难度2154编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此数组中大于平均值的数据的个数; 主函数中定义含有100个元素的数组x,xi=200*cos(i*0.875)(i=0,1,299),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。 -0.851949 49(注:此程序不允许使用全局变量,不允许在avernum函数中输出)#include stdio.h#include math.h#define n 100double avernum(double *x, double n, double ave) double aver=0.000000, a=0; int i; if(ave=0) for(i=0; in; i+) aver=aver+*(x+i); aver=aver/n; return aver; else for(i=0; in; i+) if(ave*(x+i)a+; return a; void main() double xn, m, aver; int i; for(i=0; in; i+) xi=200*cos(i*0.875); aver=avernum(x, n, 0); m=avernum(x, n, aver); printf(aver=%fnm=%fn,aver, m); 155编一通用函数avermax,计算含有n个数据的一维数组的平均值,并求出此数组中大于平均值的数据之和;主函数中定义含有300个元素的数组x,xi=10* cos (3.0+i*i) / 5) (i=0,1,2299),调用上述函数,输出此数组的平均值及大于平均值的数据之和。 -0.220814 912.784553(注:此程序必须使用while 语句,不允许使用全局变量,不允许在avermax 函数中输出)#include stdio.h#include math.h#define n 300double avernum(double *x, double n, double ave) double aver=0.000000, a=0; int i; if(ave=0) i=0; while(in) aver=aver+*(x+i); i+; aver=aver/n; return aver; else i=0; while(in) if(ave*(x+i)a+=*(x+i); i+; return a; void main() double xn, m, aver; int i=0; while(in) xi=10* cos(3.0+i*i)/5); i+; aver=avernum(x, n, 0); m=avernum(x, n, aver); printf(aver=%fnm=%fn,aver, m); 156编一通用函数maxsub,求出含有n 个数据的一维数组的最大值及其所在位置(即下标);主函数中定义含有300 个元素的数组y,yi=10* cos (3.0+i*i) / 5)(i=0,1,2r-r-299),调用上述函数,输出此数组的最大值及其所在位置。(注:此程序必须使用for 语句,不允许使用全局变量,不允许在maxsub 函数中输出)9.99927,0.00000#include stdio.h#include math.h#define n 300double maxsub(double *x, double n, double ave) double max; int i,j=0; if(ave=0) max=*x; for(i=1; in; i+) if(max*(x+i) max=*(x+i); j+; return max; else return j; void main() double yn, m, aver; int i; for(i=0; in; i+) yi=10*cos(3.0+i*i)/5); aver=maxsub(y, n, 0); m=maxsub(y, n, aver); printf(aver=%fnm=%fn,aver, m); 158编一函数,统计一维整数组小于数组元素平均值的元素的个数;主函数定义x50,xi=600*cos(i*0.35), 调用函数,输出小于数组元素平均值的元素的个数。必须使用while 语句。 27.000000#include stdio.h#include math.h#define n 50float avernum(float y,int n)float v,s=0; int count=0,i=0; while(in) s+=yi;i+; v=s/n; i=0;while(in)if(yiv) count+; i+; return(count);void main()float xn;int i=0; while(in) xi=600*cos(i*0.35);i+; printf(%fn,avernum(x,50);159编一函数,求有50个元素的一维整数组中最大值的位置;主函数中定义y50,yj=600*sin(j*0.16),调用函数,输出最大值及其位置。要求必须使用for 语句。 599.941355 0.000000#include stdio.h#include math.hdouble maxsub(double x,int num,double max)int i,j; double m=0.00000; m=x0; j=0; if(max=0) for(i=1;im)m=xi;j=i; return (m); else return(j); void main() double a50,max,m; int i; for(i=0;i50;i+) ai=600*sin(i*0.16); max=maxsub(a,50,0); m=maxsub(a,50,max); printf(m=%f,j=%fn,max,m);162求一维实型数组中最大元素。要求:主函数中定义含有300个元素的数组x, xi=10* cos (3.0+i*i ) /5) (i=0,1,2299),调用自定义函数qmax求出最大元素,然后在主函数中输出结果。要求必须使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论