1、c语言课后题答案1编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。程序如下:#includestdio.hmain() int score1,score2,score3,sum,ave,rem; printf(Please input 3 scores:); scanf(%d%d%d,&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf(sum=%d,ave=%d,rem=%d,sum,ave,rem);2输入三角形的三边长,求
2、三角形的面积。已知三角形的三边长求三角形的面识公式为:area=,其中a、b、c为三角形三边,s=(a+b+c)/2。程序如下:#includestdio.h#includemath.hmain() float s,a,b,c,area; printf(Please input a,b,c:); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%f,area);3用格式控制符打印以下图形。*程序如下:#includestdio.hmain() printf(*n); printf(*
3、n); printf(*n); printf(*);4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。#includestdio.hmain() char ch; printf(please input string:); do scanf(%c,&ch); printf(%c,ch); while(ch!=10);5 打印出如下图案:*程序如下:#includestdio.hmain() int i,j; for(i=1;i5;i+) for(j=1;j=1;i-) for(j=2*i-1;j=1;j-) printf(*); printf(n); 6 一个数如果恰好等于它的因
4、子之和,这个数就称为“完数”。例如6=123。编程找出1000以内的所有完数。程序如下:#includestdio.hmain() int i,j,sum; for(i=1;i=1000;i+) for(j=1,sum=0;j=i/2;j+) if(i%j=0) sum+=j; if(sum=i) printf(%-6d,i); 7古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序如下:#includevoid main() long f1,f2;int i,n,m;f1=f2=1;printf(输
5、入月数:n);scanf(%d,&n);for(i=3;i=n;i+) m=f2; f2+=f1; f1=m; printf(%dn,f2);8打印楼梯,同时在楼梯上方打印两个笑脸程序如下:#includestdio.hmain() int i,j; printf(11n); for(i=1;i11;i+) for(j=1;j=i;j+) printf(%c%c,219,219); printf(n); 9编程输出国际象棋棋盘。程序如下:#includestdio.hmain() int i,j; for(i=1;i8;i+) for(j=1;j8;j+) if(i+j)%2=0) print
6、f(%c%c,219,219); else printf( ); printf(n); 10一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数)程序如下:#include math.hmain()long int i,x,y;x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上168后开方后的结果*/if(x*x=i+100&y*y=i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/printf(n%ldn,i);
7、 11打印出杨辉三角形(要求打印出10行图如下)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1程序如下:main() int l,r,c; long int v; printf(Input the rank of the triangle:n); /*输入行数*/ scanf(%d,&r); while(r15) /* 范围115,自己用可以省去*/ printf(nError! Input again:n); scanf(%d,&r); for(l=1;l=r;l+) for(v=0;v17-l;v+) printf( ); v=1; printf(1 ); f
8、or(c=2;c=l;c+) v=v*(l-1)-(c-1)+1)/(c-1); /*!核心公式!*/ if(v100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v10) printf(%ld ,v); else printf(%ld ,v); else printf(%ld ,v); printf(n); 12百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。程序如下:main() int i,j,k; int m =100/5, n=100/3; for(i=1; im; i+)/*没取到=隐含
9、一定包括三种鸡*/ for(j=1; jn; j+)/*同上*/ k=100-i-j; if(i*5+j*3+k/3 = 100 & i+j+k = 100 & k%3 = 0) printf(i=%d,j=%d,k=%dn,i,j,k); 13输入两个自然数,求解最大公约数。程序如下:#includeint main()int a,b,num1,num2,temp;printf(Input a & b:);scanf(%d%d,&num1,&num2);if(num1num2) /*找出两个数中的较大值*/temp=num1; num1=num2; num2=temp; /*交换两个整数*/
10、a=num1; b=num2;while(b!=0) /*采用辗转相除法求最大公约数*/temp=a%b;a=b;b=temp;printf(The GCD of %d and %d is: %dn,num1,num2,a); /*输出最大公约数*/14将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。程序如下:#includestdio.hmain() int i,j=0; for(i=0;i128;i+) printf(%c %d ,i,i); j+; if(j%7=0) printf(n); 1编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成
11、绩sum,平均成绩ave和总成绩除3的余数rem。程序如下:#includestdio.hmain() int score1,score2,score3,sum,ave,rem; printf(Please input 3 scores:); scanf(%d%d%d,&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf(sum=%d,ave=%d,rem=%d,sum,ave,rem);2输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=,其中a、b
12、、c为三角形三边,s=(a+b+c)/2。程序如下:#includestdio.h#includemath.hmain() float s,a,b,c,area; printf(Please input a,b,c:); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%f,area);3用格式控制符打印以下图形。*程序如下:#includestdio.hmain() printf(*n); printf(*n); printf(*n); printf(*);4. 编程从键盘上输入一
13、行字符,依次读入字符并同时显示在屏幕上。#includestdio.hmain() char ch; printf(please input string:); do scanf(%c,&ch); printf(%c,ch); while(ch!=10);7 打印出如下图案:*程序如下:#includestdio.hmain() int i,j; for(i=1;i5;i+) for(j=1;j=1;i-) for(j=2*i-1;j=1;j-) printf(*); printf(n); 8 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123。编程找出1000以内的所有完数
14、。程序如下:#includestdio.hmain() int i,j,sum; for(i=1;i=1000;i+) for(j=1,sum=0;j=i/2;j+) if(i%j=0) sum+=j; if(sum=i) printf(%-6d,i); 7古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序如下:#includevoid main() long f1,f2;int i,n,m;f1=f2=1;printf(输入月数:n);scanf(%d,&n);for(i=3;i=n;i+) m=
15、f2; f2+=f1; f1=m; printf(%dn,f2);8打印楼梯,同时在楼梯上方打印两个笑脸程序如下:#includestdio.hmain() int i,j; printf(11n); for(i=1;i11;i+) for(j=1;j=i;j+) printf(%c%c,219,219); printf(n); 9编程输出国际象棋棋盘。程序如下:#includestdio.hmain() int i,j; for(i=1;i8;i+) for(j=1;j8;j+) if(i+j)%2=0) printf(%c%c,219,219); else printf( ); print
16、f(n); 10一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数)程序如下:#include math.hmain()long int i,x,y;x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上168后开方后的结果*/if(x*x=i+100&y*y=i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/printf(n%ldn,i); 11打印出杨辉三角形(要求打印出10行图如下)11 11 2 11 3 3
17、 11 4 6 4 11 5 10 10 5 1程序如下:main() int l,r,c; long int v; printf(Input the rank of the triangle:n); /*输入行数*/ scanf(%d,&r); while(r15) /* 范围115,自己用可以省去*/ printf(nError! Input again:n); scanf(%d,&r); for(l=1;l=r;l+) for(v=0;v17-l;v+) printf( ); v=1; printf(1 ); for(c=2;c=l;c+) v=v*(l-1)-(c-1)+1)/(c-1
18、); /*!核心公式!*/ if(v100) /*底下是控制打印后留的空格, 让整个三角形更美观*/ if(v10) printf(%ld ,v); else printf(%ld ,v); else printf(%ld ,v); printf(n); 12百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。程序如下:main() int i,j,k; int m =100/5, n=100/3; for(i=1; im; i+)/*没取到=隐含一定包括三种鸡*/ for(j=1; jn; j+)/*同上*/ k=100
19、-i-j; if(i*5+j*3+k/3 = 100 & i+j+k = 100 & k%3 = 0) printf(i=%d,j=%d,k=%dn,i,j,k); 13输入两个自然数,求解最大公约数。程序如下:#includeint main()int a,b,num1,num2,temp;printf(Input a & b:);scanf(%d%d,&num1,&num2);if(num1num2) /*找出两个数中的较大值*/temp=num1; num1=num2; num2=temp; /*交换两个整数*/a=num1; b=num2;while(b!=0) /*采用辗转相除法求最
20、大公约数*/temp=a%b;a=b;b=temp;printf(The GCD of %d and %d is: %dn,num1,num2,a); /*输出最大公约数*/14将可打印的ASCII码制成表格输出,使每个字符与它的编码值对应起来,每行打印7个字符。程序如下:#includestdio.hmain() int i,j=0; for(i=0;i128;i+) printf(%c %d ,i,i); j+; if(j%7=0) printf(n); 1编写程序,实现从键盘输入学生的3门课成绩,计算并输出其总成绩sum,平均成绩ave和总成绩除3的余数rem。程序如下:#include
21、stdio.hmain() int score1,score2,score3,sum,ave,rem; printf(Please input 3 scores:); scanf(%d%d%d,&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3; rem=sum%3; printf(sum=%d,ave=%d,rem=%d,sum,ave,rem);2输入三角形的三边长,求三角形的面积。已知三角形的三边长求三角形的面识公式为:area=,其中a、b、c为三角形三边,s=(a+b+c)/2。程序如下:#includestdi
22、o.h#includemath.hmain() float s,a,b,c,area; printf(Please input a,b,c:); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%f,area);3用格式控制符打印以下图形。*程序如下:#includestdio.hmain() printf(*n); printf(*n); printf(*n); printf(*);4. 编程从键盘上输入一行字符,依次读入字符并同时显示在屏幕上。#includestdio.hmai
23、n() char ch; printf(please input string:); do scanf(%c,&ch); printf(%c,ch); while(ch!=10);9 打印出如下图案:*程序如下:#includestdio.hmain() int i,j; for(i=1;i5;i+) for(j=1;j=1;i-) for(j=2*i-1;j=1;j-) printf(*); printf(n); 10 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123。编程找出1000以内的所有完数。程序如下:#includestdio.hmain() int i,j,s
24、um; for(i=1;i=1000;i+) for(j=1,sum=0;j=i/2;j+) if(i%j=0) sum+=j; if(sum=i) printf(%-6d,i); 7古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序如下:#includevoid main() long f1,f2;int i,n,m;f1=f2=1;printf(输入月数:n);scanf(%d,&n);for(i=3;i=n;i+) m=f2; f2+=f1; f1=m; printf(%dn,f2);8打印楼
25、梯,同时在楼梯上方打印两个笑脸程序如下:#includestdio.hmain() int i,j; printf(11n); for(i=1;i11;i+) for(j=1;j=i;j+) printf(%c%c,219,219); printf(n); 9编程输出国际象棋棋盘。程序如下:#includestdio.hmain() int i,j; for(i=1;i8;i+) for(j=1;j8;j+) if(i+j)%2=0) printf(%c%c,219,219); else printf( ); printf(n); 10一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(如果一个数的平方根的平方等于该数,这说明此数是完全平方数)程序如下:#include math.hmain()long int i,x,y;x=sqrt(i+100); /*x为加上100后开方后的结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1