c语言编程题.docx
- 文档编号:24503558
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:22
- 大小:21.69KB
c语言编程题.docx
《c语言编程题.docx》由会员分享,可在线阅读,更多相关《c语言编程题.docx(22页珍藏版)》请在冰豆网上搜索。
c语言编程题
1、求1+2+3+……….+100。
(循环)
答案
#include
voidmain()
{
inti,sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("%d",sum);
}
2、求1*2*3*……….*10。
(循环)
答案
voidmain()
{
inti=0,j=1;
for(i=2;i<=10;i++)
{
j*=i;
}
printf("%d",j);
return0;
}
3、输入三个数字,输出他们的最大值。
(if)
答案
#include
voidmain()
{inta,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
getch();/*暂停看运行结果*/
}
intmax(intx,inty,intz)
{intu;
if(x>=y&&x>=z)
u=x;
elseif(y>=x&&y>=z)
u=y;
else
u=z;
return(u);
4.用起泡法对十个数据排序(数组实现)
答案
#include
main()
{ inti,j,t;
staticinta[10]={5,7,4,2,3,6,1,0,9,8};
for(j=0;j<9;j++)
{ for(i=0;i<9-j;i++)
{ if(a>a)
{t=a;a=a;a=t;
}
}
}
for(i=0;i<10;i++)
printf("%2d",a);
}
5、输入十个数字,逆序输出。
(数组实现)
答案
#include
main()
{inta[10],i=0;
for(i=0;i<=9;i++)
scanf("%f",&a);
printf("\n");
for(i=9;i>=0;i--)
printf("%f",a);
}
6输入两个数,交换他们的值并输出。
(元素交换)
答案
#include
intmain()
{
intm,n,temp;
scanf("%d%d",&m,&n);
if(m { temp=m; m=n; n=temp; } printf("%d",m); return0; } 7.输出9*9乘法表。 (双层循环) 答案 #include voidmain() { inti=1; for(i;i<=9;i++) { intj=1; for(j;j<=i;j++) { printf("%d*%d=%d",i,j,i*j); } printf("\n"); } } 8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。 输出转变后的这行字符。 答案 #include"stdio.h" voidmain() { chara[n]; inti; scanf("%s",a); printf("大写为: "); for(i=0;i<=n;i++) { if(a<='z'&&a>='a') a=a-32; printf("%c",a); } printf("\n小写为: "); for(i=0;i<=3;i++) { a=a+32; printf("%c",a); } } 9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。 输出运算式及运算结果。 (switch) 6.2 #include"stdio.h" main() {charc;inti=0,j=0,k=0,l=0; while((c=getchar())! =’\n’) {if(c>=65&&c<=90||c>=97&&c<=122)i++; elseif(c>=48&&c<=57)j++; elseif(c==32)k++; elsel++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 6.6 #include"math.h" main() {intx=100,a,b,c; while(x>=100&&x<1000){a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3)))printf("%5d",x);x++;} } 6.7 main() {intm,i,j,s; for(m=6;m<10000;m++) {s=1; for(i=2;i if(m%i==0)s=s+i; if(m-s==0) {printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n");} } } 或 main() {intm,i,j,s; for(m=6;m<1000;m++) {s=m-1; for(i=2;i if(m%i==0)s=s-i; if(s==0) {printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n");} } } 6.8 main() {inti=1,n;doublet,x=1,y=2,s,sum=0; scanf("%ld",&n); while(i<=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;} printf("%f\n",sum); } 11,P128 例6.10(译码) #include voidmain() { charc; while((c=getchar())! ='\n') { c=c+4; if(c>'Z'+4||c>'z') c=c-26; } printf("%c",c); } printf("\n"); } 12,P111 5.5 5.6(switch) 5.5 #include main() {intx,y; printf("输入x: "); scanf("%d",&x); if(x<1) {y=x; printf("x=%3d,y=x=%d\n",x,y); } elseif(x<10) {y=2*x-1; printf("x=%3d,y=2*x-1=%d\n",x,y); } else {y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x,y); } } 5.6 #include main() {floatscore; chargrade; case2: printf("请输入学生成绩: "); scanf("%f",&score); while(score>100||(score<0) {printf("\n输入有误,请重新输入: "); scanf("%f",&score); } switch((int)(score/10)) {case10: case9: grade=’A’;break; case8: grade=’B’;break; case7: grade=’C’;break; case6: grade=’D’;break; case5: case4: case3: case1: case0: grade=’E’; } printf("成绩是%5.1f,相应的等级是%c。 \n",score,grade); } 13,P108 例5.5(一元二次方程求根) 例5.6(求闰年) 5.5 #include voidmain() { intyear,leap; scanf("%d",&year); if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; if(leap) printf("%dis",year); else printf("%disnot",year); printf("aleapyear.\n") } 5.6 14,P31 例2.17 例2.18 2.17 输出50个学生中成绩高于80分者的学号和成绩 2.18 输出2000——2500年每一年是否闰年 #include voidmain() { intyear; year=2000; go: if(((year%4==0)&&(year%100! =0))||(year%400==0)) printf("%disrunnian",year); if(year<=2500) year=year++; if(year>2500) gotoend; gotogo; end: getch(); } 1、求1+2+3+……….+100。 (循环) 答案 #include voidmain() { inti,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d",sum); } 2、求1*2*3*……….*10。 (循环) 答案 voidmain() { inti=0,j=1; for(i=2;i<=10;i++) { j*=i; } printf("%d",j); return0; } 3、输入三个数字,输出他们的最大值。 (if) 答案 #include voidmain() {inta,b,c,d; scanf("%d,%d,%d",&a,&b,&c); d=max(a,b,c); printf("max=%d",d); getch();/*暂停看运行结果*/ } intmax(intx,inty,intz) {intu; if(x>=y&&x>=z) u=x; elseif(y>=x&&y>=z) u=y; else u=z; return(u); 4.用起泡法对十个数据排序(数组实现) 答案 #include main() { inti,j,t; staticinta[10]={5,7,4,2,3,6,1,0,9,8}; for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a>a) {t=a;a=a;a=t; } } } for(i=0;i<10;i++) printf("%2d",a); } 5、输入十个数字,逆序输出。 (数组实现) 答案 #include main() {inta[10],i=0; for(i=0;i<=9;i++) scanf("%f",&a); printf("\n"); for(i=9;i>=0;i--) printf("%f",a); } 6输入两个数,交换他们的值并输出。 (元素交换) 答案 #include intmain() { intm,n,temp; scanf("%d%d",&m,&n); if(m { temp=m; m=n; n=temp; } printf("%d",m); return0; } 7.输出9*9乘法表。 (双层循环) 答案 #include voidmain() { inti=1; for(i;i<=9;i++) { intj=1; for(j;j<=i;j++) { printf("%d*%d=%d",i,j,i*j); } printf("\n"); } } 8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。 输出转变后的这行字符。 答案 #include"stdio.h" voidmain() { chara[n]; inti; scanf("%s",a); printf("大写为: "); for(i=0;i<=n;i++) { if(a<='z'&&a>='a') a=a-32; printf("%c",a); } printf("\n小写为: "); for(i=0;i<=3;i++) { a=a+32; printf("%c",a); } } 9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。 输出运算式及运算结果。 (switch) 6.2 #include"stdio.h" main() {charc;inti=0,j=0,k=0,l=0; while((c=getchar())! =’\n’) {if(c>=65&&c<=90||c>=97&&c<=122)i++; elseif(c>=48&&c<=57)j++; elseif(c==32)k++; elsel++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 6.6 #include"math.h" main() {intx=100,a,b,c; while(x>=100&&x<1000){a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3)))printf("%5d",x);x++;} } 6.7 main() {intm,i,j,s; for(m=6;m<10000;m++) {s=1; for(i=2;i if(m%i==0)s=s+i; if(m-s==0) {printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n");} } } 或 main() {intm,i,j,s; for(m=6;m<1000;m++) {s=m-1; for(i=2;i if(m%i==0)s=s-i; if(s==0) {printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n");} } } 6.8 main() {inti=1,n;doublet,x=1,y=2,s,sum=0; scanf("%ld",&n); while(i<=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;} printf("%f\n",sum); } 11,P128 例6.10(译码) #include voidmain() { charc; while((c=getchar())! ='\n') { c=c+4; if(c>'Z'+4||c>'z') c=c-26; } printf("%c",c); } printf("\n"); } 12,P111 5.5 5.6(switch) 5.5 #include main() {intx,y; printf("输入x: "); scanf("%d",&x); if(x<1) {y=x; printf("x=%3d,y=x=%d\n",x,y); } elseif(x<10) {y=2*x-1; printf("x=%3d,y=2*x-1=%d\n",x,y); } else {y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x,y); } } 5.6 #include main() {floatscore; chargrade; case2: printf("请输入学生成绩: "); scanf("%f",&score); while(score>100||(score<0) {printf("\n输入有误,请重新输入: "); scanf("%f",&score); } switch((int)(score/10)) {case10: case9: grade=’A’;break; case8: grade=’B’;break; case7: grade=’C’;break; case6: grade=’D’;break; case5: case4: case3: case1: case0: grade=’E’; } printf("成绩是%5.1f,相应的等级是%c。 \n",score,grade); } 13,P108 例5.5(一元二次方程求根) 例5.6(求闰年) 5.5 #include voidmain() { intyear,leap; scanf("%d",&year); if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; if(leap) printf("%dis",year); else printf("%disnot",year); printf("aleapyear.\n") } 5.6 14,P31 例2.17 例2.18 2.17 输出50个学生中成绩高于80分者的学号和成绩 2.18 输出2000——2500年每一年是否闰年 #include voidmain() { intyear; year=2000; go: if(((year%4==0)&&(year%100! =0))||(year%400==0)) printf("%disrunnian",year); if(year<=2500) year=year++; if(year>2500) gotoend; gotogo; end: getch(); } 1、求1+2+3+……….+100。 (循环) 答案 #include voidmain() { inti,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d",sum); } 2、求1*2*3*……….*10。 (循环) 答案 voidmain() { inti=0,j=1; for(i=2;i<=10;i++) { j*=i; } printf("%d",j); return0; } 3、输入三个数字,输出他们的最大值。 (if) 答案 #include voidmain() {inta,b,c,d; scanf("%d,%d,%d",&a,&b,&c); d=max(a,b,c); printf("max=%d",d); getch();/*暂停看运行结果*/ } intmax(intx,inty,intz) {intu; if(x>=y&&x>=z) u=x; elseif(y>=x&&y>=z) u=y; else u=z; return(u); 4.用起泡法对十个数据排序(数组实现) 答案 #include main() { inti,j,t; staticinta[10]={5,7,4,2,3,6,1,0,9,8}; for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a>a) {t=a;a=a;a=t; } } } for(i=0;i<10;i++) printf("%2d",a); } 5、输入十个数字,逆序输出。 (数组实现) 答案 #include main() {inta[10],i=0; for(i=0;i<=9;i++) scanf("%f",&a); printf("\n"); for(i=9;i>=0;i--) pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)