C语言程序题.docx

上传人:scccc 文档编号:11382460 上传时间:2021-08-01 格式:DOCX 页数:14 大小:25.10KB
返回 下载 相关 举报
C语言程序题.docx_第1页
第1页 / 共14页
C语言程序题.docx_第2页
第2页 / 共14页
C语言程序题.docx_第3页
第3页 / 共14页
C语言程序题.docx_第4页
第4页 / 共14页
C语言程序题.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《C语言程序题.docx》由会员分享,可在线阅读,更多相关《C语言程序题.docx(14页珍藏版)》请在三一文库上搜索。

1、三、程序题1、编程序解百鸡问题:100元钱买100只鸡,公鸡每只3元,母鸡每只5元,小鸡3只1元,问公鸡、母鸡、小鸡各多少只?#includeint 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 %dn,x,y,100-x-y);return 0;2、求出100-999的所有的水仙花数(水仙花数既xyz=x*x*x+y*y*y+z*z*z)#include#includeint main()int i,j,k,n;for(n=101;n

2、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为三角形的三边,由键盘输入三个数,请编程计算以这三个数为边长的三角形的面积(先判断能否成为三角形,再计算面积)#include#includeint main()float a,b,c,s,area;scanf(%f%f%f,&a,&b,&c);if(a0&b0&c0&a+bc&a+cb&b+ca)s=

3、(a+b+c)/2;area=(s*(s-a)*(s-b)*(s-c);printf(三角形的面积为:%fn,area);else printf(不能构成三角形);return 0; 4、编程序求解以下问题:输入长方体的长、宽、高,求长方体的体积并输出。#include#includeint main()double a,b,h,v;printf(输入长方体的长、宽、高:);scanf(%lf%lf%lf,&a,&b,&h);v=a*b*h;printf(长方体的体积为:%fn,v);return 0;5、先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。例如, 输入下

4、面的矩阵:100 200 300400 500 600700 800 900程序输出:主对角线元素之和为:100+500+900=1500 #includeint main()int a33,i,j,s=0;printf(请输入矩阵:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)s=s+aii;printf(主对角线的和为:%d+%d+%d=%dn,a00,a11,a22,s);return 0;6、输入正整数n,输出n行n列的空心四边形图案。以下是n等于4的图案。 * * * * * * * * * * * *#inc

5、ludeint 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(*);elseprintf( );printf(n);return 0;7、编程序解问题:输入n,求1+2+3+n的和。方法一:#includeint 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=%dn,n,s);return 0;方法二:#include#de

6、fine N 3int main()int s=0,i=1;while(i=N)s=s+i;i=i+1;printf(%dn,s);return 0;方法三:#include#define n 3int main()int s=0,i=1;dos=s+i;i=i+1;while(i=n);printf(%dn,s);return 0;方法四:#include#define n 3int main()int s=0,i;for(i=1;i=n;i=i+1)s=s+i;printf(%dn,s);return 0;8、将一个数组中的值按逆序重新存放,例如原来数组a=8,6,5,7,4,要求改为4,

7、7,5,6,8#include #define N 5 int main() int aN,i,t; printf(请输入矩阵:n); for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN;i+) printf(%d,ai); printf(n); i=0; while(iN-i-1) t=ai; ai=aN-1-i; aN-1-i=t; i+; for(i=0;iN;i+) printf(%d,ai); return 0; 9、统计一维数组中大于0、等于0和小于0的个数,并输出。 #include#define N 10int main()int i,less=0

8、,great=0,equal=0,aN;printf(请输入矩阵:n);for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN;i+)printf(%d,ai);for(i=0;i0)great+;elseif(ai0)equal+;elseless+;printf(n数组中大于0的个数为:%d,great);printf(n数组中等于0的个数为:%d,equal);printf(n数组中小于0的个数为:%d,less);return 0;10、编程输入x的值,求y=x20-2*x10+5的值。#include#includeint main()float x,y;pri

9、ntf(请输入x的值:);scanf(%f,&x);y=pow(x,20)-2*pow(x,10)+5;printf(y=%fn,y);return 0;11、输入一个3位的正整数,要求以相反的顺序输出该数。例如输入一个数123,输出另一个数321。#includeint 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(%dn,k*100+j*10+i);return 0;12、编写程序:输入3个09的正整数,输出由这3个数组成的一个3位数的正整数(例

10、如输入3个数:9,1,8,输出一个数:918)。#includeint main()int i,j,k,n;printf(请输入3个0-9的正整数:);scanf(%d %d %d,&i,&j,&k);n=i*100+j*10+k;printf(%dn,n);return 0;13、输入三个整数,求出这三个数的和以及平均值,并在屏幕上输出#includeint 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=

11、%d,average=%fn,sum,average);return 0;14、输入一个三位整数x(999=x=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积。#includeint main()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=%dn,sum,product);return 0;15、请编写一个程序,能显示出以下两行文字。I am a stud

12、ent. I love China. 方法一:#includeint main()printf(I am a student.nI love China.);return 0;方法二:#includeint main()printf(I am a student.n);printf(I love China.n);return 0;16、输入一个字符,求其前驱字符和后继字符,并按其ASCII码值的降序输出此3个字符及其对应的ASCII码值。#includeint main()char c,c1,c2;printf(请输入字符:);scanf(%c,&c);c1=c-1;c2=c+1;print

13、f(%c %c %cn,c2,c,c1);printf(%d %d %dn,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#includeint main()int a,b;printf(请输入2个整数:);scanf(%d %d,&a,&b);printf(%d+%d=%dn,a,b,a+b);printf(%d-%d=%dn,a,b,a-b);printf(%d*%d=%dn,a,b,a*b);printf(%d/%d=%

14、dn,a,b,a/b);printf(float)%d/%d=%dn,a,b,(float)a/b);printf(%d % %d=%dn,a,b,a%b);return 0;18、编写一个邮件计费程序,求出邮件的邮资费并输出。计费规定:当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费。#includeint main()float x,y;printf(请输入x:);scanf(%f,&x);if(x200)y=0.06*200+0.03*(x-200);printf(y=%fn,y)

15、;return 0;19、编写程序:输入一个人的年龄,如果年龄大于或等于60岁,则输出“老年”;如果年龄大于或等于30岁且小于60,则输出“中年”;如果年龄小于30岁,则输出“青年”。#includeint main()int age;printf(请输入年龄:);scanf(%d,&age);if(age=60)printf(老年n);elseif(age=30)&(age0)&(age30)printf(青年n);elseprintf(输入有误!n);return 0;20、输入一个x的值,如果x大于0,则输出y=x2+1的值;如果小于0,则输出y=2x+1的值;如果x=0,则输出y=x的

16、值。#include#includeint main()float x,y;printf(请输入x:);scanf(%f,&x);if(x0)y=pow(x,2)+1;elseif(x0)y=2*x+1;elseif(x=0)y=x;printf(%f,y);return 0;21、编程输入n的值,求1n之间5的倍数的和#includeint main()int n,i,sum=0;printf(请输入n的值:);scanf(%d,&n);for(i=5;in;i=i+5)sum=sum+i;printf(1-n之间5的倍数的和为:%dn,sum);return 0;22、输入一个正整数n,输

17、出S=1*2*3*n的值#includeint main()int i,n,s;printf(请输入n:);scanf(%d,&n);for(i=1;i=n;i+)s=s*i;printf(%dn,s);return 0; 23、使用数组编写程序:输入10个学生的成绩保存到数组中,输出最低分的学生的成绩和序号(注意:学生的成绩不一定是百分制)。#include#define N 10int main()float score10,min;int i,k;for(i=0;i10;i+)printf(请输入10个学生的成绩:,i+1);scanf(%f,&scorei);min=score0;k=

18、1;for(i=1;i10;i+)if(scoreimin)k=i+1;printf(10个学生中最低分的成绩为:%fn 序号为:%dn,min,k);return 0;24、编写程序:输出100200之间的全部素数。#include#includeint main()int i,k,m;for(m=100;m=200;m+)k=sqrt(m);for(i=2;i=k+1)printf(%d ,m);printf(n);return 0;25、编写程序:输入1个三位数的正整数,分别输出这个整数的百位数,十位数和个位数。#includeint main()int n,i,j,k;printf(请

19、输入一个三位数的正整数:);scanf(%d,&n);i=n/100;j=(n-i*100)/10;k=n-i*100-j*10;printf(百位数为%dn 十位数为%dn 个位数为%dn,i,j,k);return 0;26、使用数组编写程序:先输入10个数保存到数组中,然后再随机输入一个数,判断这个数是否是数组中保存的10个数中的一个,如果这个数是数组中的某个数,则输出其在数组中的序号,否则输出:“查无此数!”。#includeint main()float a10,n;int i,k;for(i=0;i10;i+)printf(请输入第%d个数:,i+1);scanf(%f,&ai);

20、printf(请输入要查找的数:);scanf(%f,&n);for(i=0;i10;i+)if(ai=n)k=i+1;break; if(i=10) printf(查无此数!n); else printf(你要查找的数已经找到,是第%d个数。n,k); return 0;27、使用数组编写程序,输入3个学生6门课程的成绩,输出6门课程中平均分最低的课程的平均分和该门课程的序号。#includeint main()double score46,sum,min;int i,j,min_num;for(i=0;i3;i+)printf(请输入第%d个学生的6门课程的成绩:,i+1);for(j=0;j6;j+)scanf(%lf,&scoreij);for(i=0;i6;i+)sum=0;for(j=0;j3;j+)sum=sum+scoreji;score3i=sum/3.0;min=score30;for(i=0;i6;i+)if(score3i=min)min=score3i;min_num=i+1;printf(6门课程中平均分最低的课程的平均分为:%f,课程序号为:%dn,min,min_num);return 0;

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1