第五章习题答案 1.1选择题 1.输入两个数m和,求最大公约数和最小公倍数。 main() (int m.n.a.b.r.p: scanf"%d,%d"ab) m=a:n=b:p=m'n: while (r!=0): {r=a%b; a-b; b=r; } printf(“最大公约数%dn”,a, printf(最小公倍数%dn”,pb) 2.求1:+2!+3!+.+20 main() float s=0.t=1 int n, for(n=1:n<-20,n+) {*n s=s+t; printf(“1I+2l+31+.+201=%eln”,s 3.求出所有的“水仙花数”。“水仙花数”是指一个3位数,其各位数字的立方和等于该数 的本身。例如:153是一个“水仙花数”,因153=13+53+33。 main() inti.j.k.n; printf(“水仙花数是: for(=100,<1000,nt+) {in/10, jFn/10-i*10, k=n%10:
第五章习题答案 1.1 选择题 1. D 2. A 3. D 4.D 2.2 编程题 1. 输入两个数 m 和 n,求最大公约数和最小公倍数。 main() { int m,n,a,b,r,p; scanf("%d,%d",&a,&b); m=a;n=b; p=m*n; while (r!=0); { r=a%b; a=b; b=r; } printf(“最大公约数%d\n”,a); printf(“最小公倍数%d\n”,p/b); } 2.求1!+2!+3!+.+20! main() { float s=0;t=1; int n; for (n=1;n<=20;n++) { t=t*n; s=s+t; } printf(“1!+2!+3!+.+20!=%e\n”,s); 3.求出所有的“水仙花数”。“水仙花数”是指一个 3 位数,其各位数字的立方和等于该数 的本身。例如:153 是一个“水仙花数”,因 153=1 3 +5 3 +3 3 。 main() { int i,j,k,n; printf(“水仙花”数是:”); for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10;
if (n=*+j*j+k*k*k) printf(%4d"n) } printf(n) 4求艺+2+头 maino int nl.n2.n3: nl-100,n2-50,n3=10 int k(floatk.) f1 oat sl=0,s2-=0,s3=0,s-0 for (k=1;k=(e-5); printf("The root of requation is%5.2fn")
if (n==i*i*i+j*j*j+k*k*k) printf(“%4d”,n); } printf(“\n”); } 4.求 s= = 100 k 1 k + = 50 1 2 k k + = 10 1 1 k k 。 main() { int n1,n2,n3; n1=100;n2=50;n3=10; int k; (float k;) float s1=0,s2=0,s3=0,s=0; for (k=1;k main() { float x,x0,f,f1; x=1.5; do { x0=x; f=((2*x0-4)*x0+3)*x0-6 f1=(6*x0-8)*x0+3; } while (fabs(x-x0)>=(e-5); printf(“The root of requation is %5.2f\n”);
附加题:材 打印出以下图案 44 666 米米米米米 7 答案 #include"math.h" #include"math.h" main() main() intij.k: intij.k.l: for(i=-3;i<=3.i++) for(i-3.i<-3.i++) for(j-l:j<-abs(i):j++) for(j=1j<=abs(i)j++) printf"")月 printf") for(k=1:k<=7-2*abs(i):k++) for(k=l.k<=7-2*abs(i):k++) printf("*"); printf("%d",4+i); printf("n"): printf"n) } .iif. 1234 main( #include"math.h" main() int i.i.k for(i=lis=5:++) int i,i.k: for(i=lis=4:it+) for (j=1:i<=5-i++) (for(j=1.j<=4-ij++) printf("") for(k=lk← 4k+ for(k=1:k<=2*i-1;k++) printf("%d",k+(4-i)); if (i==k)printf"1") printf("n"方 else printf("%d"i), printf("n"方
} /*附加题:*/ 打印出以下图案: 答案 * * * * * * * * * * * * * * * * * * * * * * * * * #include "math.h" main() { int i,j,k; for(i=-3;i<=3;i++) { for(j=1;j<=abs(i);j++) printf(" "); for(k=1;k<=7-2*abs(i);k++) printf("*"); printf("\n"); } } 1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 7 #include "math.h" main() { int i,j,k,l; for(i=-3;i<=3;i++) { for(j=1;j<=abs(i);j++) printf(" "); for(k=1;k<=7-2*abs(i);k++) printf("%d",4+i); printf("\n"); } } #include "math.h" main() { int i,j,k; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++) printf(" "); for(k=1;k<=4;k++) printf("%d",k+(4-i)); printf("\n"); } } 1 2 1 2 3 3 1 3 3 4 4 4 1 4 4 4 5 5 5 5 1 5 5 5 5 main() { int i,j,k; for (i=1;i<=5;i++) { for (j=1;j<=5-i;j++) printf(" "); for (k=1;k<=2*i-1;k++) { if (i==k) printf("1"); else printf("%d",i); } printf("\n"); } } 4 5 6 7 3 4 5 6 2 3 4 5 1 2 3 4
33阅读程序,写出程序运行结果 程序一:42 程序二:=2y=12 a=16y=28 程序二.31 程序四:4
3.3 阅读程序,写出程序运行结果 程序一:42 程序二:a=12 y=12 a=16 y=28 程序三:31 程序四:4