C语言程序题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else printf(" "); printf("\n"); } return 0; } 7、编程序解问题:输入n,求1+2+3+…+n的和。 方法一:#include<stdio.h> int main() { int n,s=0,i; printf("请输入n:"); scanf("%d",&n); for(i=1;i<=n;i++) s=s+i; printf("1+2+3+...+%d=%d\n",n,s); return 0; } 方法二:#include<stdio.h> #define N 3 int main() { int s=0,i=1; while(i<=N) { s=s+i; i=i+1; } printf("%d\n",s); return 0; } 方法三:#include<stdio.h>
{ int x; int a,b,c; int sum,product; printf("请输入3个整数:"); scanf("%d",&x); a=x/100; b=x%100/10; c=x%10; sum=a+b+c; product=a*b*c; printf("sum=%d,product=%d\n",sum,product); return 0; } 15、请编写一个程序,能显示出以下两行文字。 I am a student. I love China. 方法一:#include<stdio.h> int main() { printf("I am a student.\nI love China."); return 0; } 方法二:#include<stdio.h> int main() { printf("I am a student.\n"); printf("I love China.\n"); return 0; } 16、输入一个字符,求其前驱字符和后继字符,并按其ASCII码值的降序
三、程序题 1、编程序解百鸡问题:100元钱买100只鸡,公鸡每只3元,母鸡每只5 元,小鸡3只1元,问公鸡、母鸡、小鸡各多少只? #include<stdio.h> int main() { int x,y; printf("百鸡问题解:\n"); for(x=1;x<=100;x++) for(y=1;y<=100;y++) if(15*x+9*y+(100-x-y)==300) printf("%d %d %d\n",x,y,100-x-y); return 0; } 2、求出100-999的所有的水仙花数(水仙花数既xyz=x*x*x+y*y*y+z*z*z) #include<stdio.h> #include<math.h> int main() { int i,j,k,n; for(n=101;n<1000;n++) { k=n%10; j=n%100/10; i=n/100; if(n==pow(i,3)+pow(j,3)+pow(k,3)) printf("%d ",n); } return 0; } 3、已知三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2, a,b,c为三角形的三边,由键盘输入三个数,请编程计算以这三个数为边 长的三角形的面积(先判断能否成为三角形,再计算面积)
13、输入三个整数,求出这三个数的和以及平均值,并在屏幕上输出 #include<stdio.h> int main() { int a,b,c; int sum; double average; printf("请输入3个整数:"); scanf("%d%d%d",&a,&b,&c); sum=a+b+c; average=(a+b+c)/3; printf("sum=%d,average=%f\n",sum,average); return 0; } 14、输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个 位,并求出各位之和以及各位之积。 #include<stdio.h> int main()
printf("\n数组中等于0的个数为:%d",equal); printf("\n数组中小于0的个数为:%d",less); return 0; } 10、编程输入x的值,求y=x20-2*x10+5的值。 #include<stdio.h> #include<math.h> int main() { float x,y; printf("请输入x的值:"); scanf("%f",&x); y=pow(x,20)-2*pow(x,10)+5; printf("y=%f\n",y); return 0; } 11、输入一个3位的正整数,要求以相反的顺序输出该数。例如输入一 个数123,输出另一个数321。 #include<stdio.h> int main() { int n,i,j,k; printf("请输入一个3位的整数:"); scanf("%d",&n); i=n/100; j=(n-i*100)/10; k=n-i*100-j*10; printf("%d\n",k*100+j*10+i); return 0; }
printf("%d",a[i]); printf("\n"); i=0; while(i<N-i-1) { t=a[i]; a[i]=a[N-1-i]; a[N-1-i]=t; i++; } for(i=0;i<N;i++) printf("%d",a[i]); return 0; } 9、统计一维数组中大于0、等于0和小于0的个数,并输出。 #include<stdio.h> #define N 10 int main() { int i,less=0,great=0,equal=0,a[N]; printf("请输入矩阵:\n"); for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=0;i<N;i++) printf("%d",a[i]); for(i=0;i<N;i++) if(a[i]>0) great++; else if(a[i]>0) equal++; else less++; printf("\n数组中大于0的个数为:%d",great);
输出此3个字符及其对应的ASCII码值。 #include<stdio.h> int main() { char c,c1,c2; printf("请输入字符:"); scanf("%c",&c); c1=c-1; c2=c+1; printf("%c %c %c\n",c2,c,c1); printf("%d %d %d\n",c2,c,c1); return 0; } 17、输入两个整型变量a、b的值,输出下列算式以及运算结果。 a+b、a-b、a*b、a/b、(float)a/b、a%b 每个算式占一行。如a=10,b=5则输出:10+5=15 #include<stdio.h> int main() { int a,b; printf("请输入2个整数:"); scanf("%d %d",&a,&b); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d/%d=%d\n",a,b,a/b); printf("(float)%d/%d=%d\n",a,b,(float)a/b); printf("%d %% %d=%d\n",a,b,a%b); return 0; } 18、编写一个邮件计费程序,求出邮件的邮资费并输出。计费规定:当 邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200
#define n 3 int main() { int s=0,i=1; do { s=s+i; i=i+1; } while(i<=n); printf("%d\n",s); return 0; } 方法四:#include<stdio.h> #define n 3 int main() { int s=0,i; for(i=1;i<=n;i=i+1) s=s+i; printf("%d\n",s); return 0; } 8、将一个数组中的值按逆序重新存放,例如原来数组a[]={8,6,5,7,4}, 要求改为{4,7,5,6,8} #include<stdio.h> #define N 5 int main() { int a[Hale Waihona Puke Baidu],i,t; printf("请输入矩阵:\n"); for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=0;i<N;i++)
克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03 元计费。 #include<stdio.h> int main() { float x,y; printf("请输入x:"); scanf("%f",&x); if(x<=200) y=0.06*x; else if(x>200) y=0.06*200+0.03*(x-200); printf("y=%f\n",y); return 0; } 19、编写程序:输入一个人的年龄,如果年龄大于或等于60岁,则输 出“老年”;如果年龄大于或等于30岁且小于60,则输出“中年”;如果年 龄小于30岁,则输出“青年”。 #include<stdio.h> int main() { int age; printf("请输入年龄:"); scanf("%d",&age); if("age>=60") printf("老年\n"); else if((age>=30)&&(age<60)); printf("中年\n"); else if((age>0)&&(age<30)) printf("青年\n"); else
400 500 600 700 800 900 程序输出: 主对角线元素之和为:100+500+900=1500 #include<stdio.h> int main() { int a[3][3],i,j,s=0; printf("请输入矩阵:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) s=s+a[i][i]; printf("主对角线的和为:%d+%d+%d=%d\n",a[0][0],a[1][1],a[2][2],s); return 0; } 6、输入正整数n,输出n行n列的空心四边形图案。以下是n等于4的图 案。 **** * * * * **** #include<stdio.h> int main() { int i,j,n; printf("请输入n:"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) if(i==1||j==1||i==n||j==n) printf("*");
12、编写程序:输入3个0~9的正整数,输出由这3个数组成的一个3位 数的正整数(例如输入3个数:9,1,8,输出一个数:918)。 #include<stdio.h> int main() { int i,j,k,n; printf("请输入3个0-9的正整数:"); scanf("%d %d %d",&i,&j,&k); n=i*100+j*10+k; printf("%d\n",n); return 0; }
#include<stdio.h> #include<math.h> int main() { float a,b,c,s,area; scanf("%f%f%f",&a,&b,&c); if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2; area=(s*(s-a)*(s-b)*(s-c)); printf("三角形的面积为:%f\n",area); } else printf("不能构成三角形"); return 0; } 4、编程序求解以下问题:输入长方体的长、宽、高,求长方体的体积 并输出。 #include<stdio.h> #include<math.h> int main() { double a,b,h,v; printf("输入长方体的长、宽、高:"); scanf("%lf%lf%lf",&a,&b,&h); v=a*b*h; printf("长方体的体积为:%f\n",v); return 0; } 5、先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线 元素之和。 例如, 输入下面的矩阵: 100 200 300