c语言程序设计编程题库.docx
- 文档编号:26927167
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:42
- 大小:23.74KB
c语言程序设计编程题库.docx
《c语言程序设计编程题库.docx》由会员分享,可在线阅读,更多相关《c语言程序设计编程题库.docx(42页珍藏版)》请在冰豆网上搜索。
c语言程序设计编程题库
难度1循环结构
4
计算s=1-2!
+3!
-4!
+…-10!
的值并输出。
-3301819
#include
voidmain()
{intn,t=1,f=-1;
intsum=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
#include
voidmain()
{intn,f=-1;
floatt,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
#defineY555555
voidmain()
{intn=100;
intmax=0;
Do
{if(Y%n==0)
{max=n;n++;}while(n<999);
printf("%d",max);
}
11
输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
注:
1不得使用数组;2必须使用while语句实现。
#include
Voidmain()
{intx;
Scanf(“%d”,&x) ;
While()
}
110
编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。
要求必须使用for语句实现。
0.980393
#include
voidmain()
{
inti;
floatsum=0;
for(i=1;i<=50;i++)
sum=sum+1.0/(i*(i+1));
printf("\ns=%f\n",sum);
}
111
编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+……前50项之和。
要求必须使用while语句实现。
#include
voidmain()
{
inti=1;
floatsum=0;
while(i<=50)
{sum=sum+1.0/(i+(i+1));
i++;}
printf("\ns=%f\n",sum);
}1.947676
179
输入10个整数,统计同时能被3和7整除的个数,结果存放在变量nCount中。
将nCoun输出。
要求必须使用do-while语句实现。
#include"stdio.h"
voidmain()
{
inta[10];
inti=0,nCount=0;
do
{scanf("%d",&a[i]);
i++;
}while(i<10);
i=0;
do
{if(a[i]%3==0&&a[i]%7==0)
nCount++;i++;}while(i<10);
printf("%d",nCount);
}
181
编写一个sum函数求和:
输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。
要求用do-while语句实现。
#include"stdio.h"
voidmain()
{
intn,sum=0,i;
printf("请输入一个正整数:
");
scanf("%d",&n);
i=2;
do
{sum=sum+i;i+=2;}while(i printf("%d\n",sum); } 187 编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。 要求使用for语句实现 #include voidmain() { inti,j=0,n; intsum=0; printf("请输入n的值: "); scanf("%d",&n); for(i=1;i<=n;i++) {j=j+i; sum=sum+j;} printf("\ns=%d\n",sum); } 265 从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。 要求使用while语句。 #include"stdio.h" voidmain() { inta[10],i,p=0,n=0,z=0; printf("输入10个整数: "); i=0; while(i<10) {scanf("%d",&a[i]); if(a[i]>0)p++; elseif(a[i]<0)n++; elsez++; i++; } printf("正数: %d,负数: %d,零: %d\n",p,n,z); } 函数难度1 173 编写自定义函数volume_cy,功能是求圆柱体的体积(v=3.14*r2*h),要求 圆柱体的高h和底半径r在主函数中输入,圆柱体的体积在主函数中做输出。 h,r均为float型变量。 #include floatvolume_cy(floatr,floath) { return(3.14*r*r*h); } voidmain() {floatr,h,v; printf("请输入圆柱体的半径和高度"); scanf("%f%f",&r,&h); v=volume_cy(r,h); printf("\n圆柱体的体积为%f\n",v); } 176 编写自定义函数volume_c,功能是求正方体的体积(要求: 正方体的的边长a在主函数中做输入,在主函数中调用函数volume_c,在主函数中输出正方体体积,a为int型变量)。 #include floatvolume_c(inta) { return(a*a*a); } voidmain() {inta; floatv; printf("请输入正方形的边长: "); scanf("%d",&a); v=volume_c(a); printf("\n正方形的的体积为%f\n",v); } 178 编写函数max,功能是找出两个数的较大值。 在主函数中输入两个整数num1,num2,调用函数max,在主函数中输出num1和num2较大值。 #include voidmain() {intmax(intx,inty); intnum1,num2,max1; printf("请输入两个数: \n"); scanf("%d%d",&num1,&num2); max1=max(num1,num2); printf("max=%d\n",max1); } intmax(intx,inty) {intm; m=x>y? x: y; returnm; } 182 定义函数areaT,功能是求圆锥体积。 在主函数中输入半径r和高h,调用函数areaT求体积,并在主函数中输出圆锥的体积。 其中变量r,h均为double型数据。 (公式v=h*3.14*r2/3) #include floatareaT(doubler,doubleh) { return3.14*r*r*h/3.0; } voidmain() {floatr,h,v; printf("请输入圆锥体的半径和高度"); scanf("%f%f",&r,&h); v=areaT(r,h); printf("\n圆锥体的体积为%f\n",v); } 183 定义函数Fra,功能是求华氏温度,要求在主函数中输入摄氏温度c,调用函数Fra,在主函数中输出华氏温度f。 要求变量c,f均为float型数据(公式f=5/9*c+32) #include floatFra(floatc) { return5.0/9*c+32.0; } voidmain() {floatf,c; printf("请输入摄氏温度: "); scanf("%f",&c); f=Fra(c); printf("\n对应的华氏温度为%f\n",f); } 184 定义函数areaT,功能是求梯形面积。 要求在主函数中输入上底(用变量a存储)、下底(用变量b存储)、和高(用变量h存储),在主函数中调用函数areaT,输出梯形面积(用变量s存储)的值。 其中,变量a,b,h,s数据类型均为double。 公式: s=(a+b)*h/2 #include doubleareaT(doublea,doubleb,doubleh) { return(a+b)*h/2; } voidmain() {doublea,b,h,s; printf("请输入梯形的上底、下底和高度"); scanf("%f%f%f",&a,&b,&h); s=areaT(a,b,h); printf("\n梯形的面积为%f\n",s); } 194 )编写自定义函数min,函数功能是找出两个数的较小值。 在主函数中输入 两个数,分别保存在变量a和变量b,并且在主函数中调用函数min,输出a和b的较小值。 #include voidmain() {intmin(intx,inty); inta,b,min1; printf("请输入两个数: \n"); scanf("%d%d",&a,&b); min1=min(a,b); printf("min=%d\n",min1); } intmin(intx,inty) { intm; m=x x: y; returnm; } 197 编写一个函数fun,函数的功能是: 判断一个整数是否既是5又是7的整倍数。 若是,输出yes,否则输出no。 在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。 #include voidmain() {voidfun(int); inta; scanf("%d",&a);对应的结果 fun(a);35 }Yes voidfun(intx)49 {if(x%5==0&&x%7==0)printf("yes\n");No elseprintf("no\n"); return; } 242 编写一个函数div,定义该函数的返回值类型为int,功能是判断一个整数n是否能同时被5和7整除,如果能,那么函数返回值为1;如果不能,那么函数返回值为0。 在main函数中完成数据输入,函数调用和数据输出。 #include voidmain() {intdiv(int); inta,y; scanf("%d",&a); y=div(a); printf("y=%d",y); } intdiv(intx) {inty; if(x%5==0&&x%7==0)y=1; elsey=0; return(y); } 317 )编写函数sign,功能是计算下列分段函数sign(x)的值。 在主函数中输入一个数,保存在变量x中,调用函数sign,在主函数中输出结果。 要求x为double型变量。 sign(x)={1x>0 0x=0 -1x<0} 7#include doublesign(doublex) { doubleb; if(x==0) b=0; elseif(x<0) b=-1; else b=1; returnb; } voidmain() { doublex,b; scanf("%f",&x); b=sign(x); printf("%le",b); } 逻辑运算和判断选取控制 6 编程判断输入的正整数是否既是5又是7的整倍数。 若是,输出yes,否则输出no。 #include voidmain() { intn; scanf("%d",&n); if(n%5==0&&n%7==0) printf("yes\a"); elseprintf("no\a"); } 8 编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。 设: 90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求必须使用switch-case结构实现。 #include"stdio.h" intmain() {intscore,g; printf("请输入百分制成绩: "); scanf("%d",&score); g=score/10; switch(g) {case1: case2: case3: case4: case5: printf("E\n");break; case6: printf("D\n");break; case7: printf("C\n");break; case8: printf("B\n");break; case9: printf("A\n");break; default: printf("InputError! "); } } 93 编写一个简单计算器程序,输入格式为: data1opdata2。 其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。 。 要求必须使用switch-case语句实现。 #include voidmain() {floatdata1,data2; charop; printf("Enteryourexpression: "); scanf("%f%c%f",&data1,&op,&data2); switch(op) {case'+': printf("%.2f+%.2f=%.2f\n",data1,data2,data1+data2);break; case'-': printf("%.2f-%.2f=%.2f\n",data1,data2,data1-data2);break; case'*': printf("%.2f*%.2f=%.2f\n",data1,data2,data1*data2);break; case'/': if(data2==0) printf("Divisionbyzero.\n"); else printf("%.2f/%.2f=%.2f\n",data1,data2,data1/data2);break; default: printf("Unknownoperater.\n"); } } 94 已知银行整存整取存款不同期限的月息利率分别为: 0.315%期限一年 0.330%期限二年 月息利率=0.345%期限三年 0.375%期限五年 0.420%期限八年 要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。 #include"stdio.h" intmain() {floatmoney,y; printf("请输入存钱的本金和期限: "); scanf("%f%f",&money,&y); if(y==1) {money=money+0.00315*12*y; printf("到期时利息和本金合计为%f元。 \n",money);} elseif(y==2) {money=money+0.00330*12*y; printf("到期时利息和本金合计为%f元。 \n",money);} elseif(y==3) {money=money+0.00345*12*y; printf("到期时利息和本金合计为%f元。 \n",money);} elseif(y==5) {money=money+0.00375*12*y; printf("到期时利息和本金合计为%f元。 \n",money);} elseif(y==8) {money=money+0.00420*12*y; printf("到期时利息和本金合计为%f元。 \n",money);} else printf("没有这种存款方式! "); return0; } 199 从键盘输入一个学生的分数,要求实现这样的判断功能: 如果分数大于100,输出”Inputerror! ”如果分数介于100到90之间,输出”VeryGood! ”如果分数介于80到90只,输出”Good! ”如果分数介于70到80之间,输出”Middle”如果分数介于60到70之间,输出”Pass”如果分数小于60,输出”NoPass! ”。 要求必须使用if-elseif结构实现。 #include voidmain() { intscore; printf("yourscore: "); scanf("%d",&score); if(score<0||score>100)printf("Inputerror! \n"); elseif(score>90)printf("VeryGood! \n"); elseif(score>80)printf("Good! \n"); elseif(score>70)printf("Middle\n"); elseif(score>60)printf("Pass\n"); elseprintf("NoPass! \n"); } 200 判断一个学生成绩的“优、良、中、差”: 假如从键盘输入的字母是‘A’,输出评语“YouareExcellent! ”;如果输入‘B’,输出评语“Youarewell! ”;如果输入‘C’,输出评语“Youarepassing! ”;如果输入‘D’,输出评语“Youarenotpassing! ”。 如果输入的不是这四个字母,则出现提示“Inputerror! ”请编写一个程序,实现该判断功能。 要求必须使用switch-case结构实现。 #include voidmain() { chargrade; printf("Pleaseinputagrade: "); scanf("%c",&grade); switch(grade) { case'A': printf("YouareExcellent! \n");break; case'B': printf("Youarewell! \n");break; case'C': printf("Youarepassing! \n");break; case'D': printf("Youarenotpassing! \n");break; default: printf("Inputerror! \n"); } } 211 输入一个整数,判断该数是奇数还是偶数。 要求必须使用if-else结构实现。 #include voidmain() { intx; printf("Pleaseinputanumber: "); scanf("%d",&x); if(x%2==0) printf("oushu\n"); elseprintf("jishu\n"); } 247 从键盘接收三个整数,分别存放在变量a,b,c中,编程求出最小数。 XXXXXX #include voidmain() { inta,b,c,min; printf("Pleaseinput3numbers: "); scanf("%d,%d,%d",&a,&b,&c); if(a min=a; elsemin=b; if(min printf("min=%d\n",min); elseprintf("min=%d\n",c); } 249 从键盘接收三个整数,分别存在变量x,y,z中。 编程输出最大数。 #include voidmain() { intx,y,z,max; printf("Pleaseinput3numbers: "); scanf("%d,%d,%d",&x,&y,&z); if(x>y)max=x; elsemax=y; if(max>z)printf("max=%d\n",max); elseprintf("max=%d\n",z); } 253 从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则给出提示信息“输入错误! ”。 #include voidmain() { charc; printf("Pleaseinputachar: "); c=getchar(); if(c>='a'&&c<='z') printf("%d\n",c); elseif(c>='A'&&c<='Z') printf("%d\n",c); elseif(c>='0'&&c<='9') printf("%c\n",c); elseprintf("输入错误! \n"); } 279 个人所得税计算,应纳税款的计算公式如下: 收入 税率 收入<=1000元部分 0% 2000元>=收入>1000元的部分 5% 3000元>=收入>2000元的部分 10% 6000元>=收入>3000元的部分 15% 收入>6000元的部分 20% 输入某人的收入,计算出应纳税额及实际得到的报酬。 ,要求必须使用if-else结构完成。 #include voidmain() { floati,n,tax;/*定义收入,实际收入,个人所得税*/ printf("Ple
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 编程 题库