收藏 分享(赏)

c语言程序设计编程题库.docx

上传人:马心欣 文档编号:21509651 上传时间:2023-11-28 格式:DOCX 页数:18 大小:33.24KB
下载 相关 举报
c语言程序设计编程题库.docx_第1页
第1页 / 共18页
c语言程序设计编程题库.docx_第2页
第2页 / 共18页
c语言程序设计编程题库.docx_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、难度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编写程序求出 5

2、55555的约数中最大的三位数是多少。 要求必须使用 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

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.9476

4、76179输入 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值的所有正偶数的和,在主函数中完成输入输出。要求用

5、 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; prin

6、tf(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 在主函数中输入,圆柱体的体积在主函数中做输出。

7、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

8、_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,&nu

9、m2); 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(请输入圆锥体的半

10、径和高度);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,功

11、能是求梯形面积。要求在主函数中输入上底(用变量 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梯形的面

12、积为%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,函数的功能是:判断一个整数

13、是否既是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。在

14、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

15、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分以上为

16、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;de

17、fault: 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, da

18、ta2, 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

19、 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=mo

20、ney+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从键盘输入一个学生的

21、分数, 要求实现这样的判断功能: 如果分数大于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

22、 (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 pas

23、sing!”。 如果输入的不是这四个字母,则出现提示“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

24、(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(

25、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,ma

26、x); 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输入某人的收

27、入,计算出应纳税额及实际得到的报酬。,要求必须使用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输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如果不是,则不转换,然后输出所得到的字符。

28、#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(注:此程序不允许使用全局变量,不允许在aver

29、num函数中输出)#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

30、; 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 语句,不允许使用全局变量,不允许

31、在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, ave

32、r; 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 函数中输

33、出)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);

34、 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

35、+; 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(doubl

36、e 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求出最大元素,然后在主函数中输出结果。要求必须使用 while 语句实现。#includemath.h#includestdio.h#define N 300float qmax(float a,int n) Int i =1; float max=a0; While(iN) if(maxai) max=ai;i+; return (max);void main() int i=0; float xN,max; While(iN) xi=10*cos(3.0+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其他相关文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报