习题答案
第一章 1.5
# include { printf(\"* * * * * * * * *\\n Very good!\\n* * * * * * * * *\\n\"); } 1.6 (法一) #include int a,b,c,max; scanf(\"%d,%d,%d\max=(a>b)?a:b; max=(max>c)?max:c; printf(\"max=%d\\n\} (法二) main() { int a,b,c,max; scanf(\"%d,%d,%d\if(a>b&&a>c) max=a; else if (b>c) max=b; else max=c; printf(\"max=%d\\n\} (法三) # include { int max(int x,int y,int z); int a,b,c,d; scanf(\"%d,%d,%d\d=max(a,b,c); printf(\"max=%d\\n\} int max(int x,int y,int z) { int A,B; if(x>y) A=x; else A=y; if(z>A) B=z; else B=A; return(B); } 第三章 3.3 (1)(10)10=(12)8=(a)16 (2)(32)10=(40)8=(20)16 (3)(75)10=(113)8=(4b)16 (4)(-617)10=(176627)8=(fd97)16 (5)(-111)10=(177621)8=(ff91)16 (6)(2483)10=(4663)8=(963)16 (7)(-28654)10=(110022)8=(9012)16 (8)(21003)10=(51013)8=(520b)16 3.6 aabb (8)cc (8)abc (7)AN 3.7 main() {char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4, c2+=4, c3+=4, c4+=4, c5+=4; printf(\"%c%c%c%c%c\\n\} 3.8 main() {int c1,c2; c1=97;c2=98; printf(\"%c %c\ } 3.9 (1)=2.5 (2)=3.5 3.10 9,11,9,10 3.12 (1)24 (2)10 (3)60 (4)0 (5)0 (6)0 第四章 4.4 main() {int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z=-3.6; u=51274;n=128765; c1='a';c2='b'; printf(\"\\n\"); printf(\"a=%2d b=%2d c=%2d\\n\ printf(\"x=%8.6f,y=%8.6f,z=%9.6f\\n\,z); printf(\"x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n\,y+z,z+x); printf(\"u=%6ld n=%9ld\\n\printf(\"c1='%c'or %d(ASCII)\\n\printf(\"c2='%c'or %d(ASCII)\\n\} 4.5 57 5 7 67.8500,-7.123962 67.8500,-7.123962 67.86 -7.12,67.8500,-7.123962,67.8500,-7.123962 6.7850e+001,-7.e+002 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM 4.6 a=3 b=7/ x=8.5 y=71.82/ c1=A c2=a/ 4.7 10 20Aa1.5 -3.75 +1.4,67.8/ (空3)10(空3)20Aa1.5(空1)-3.75(空1)(随意输入一个数),67.8回车 4.8 main() {float pi,h,r,l,s,sq,sv,sz; pi=3.1415926; printf(\"input r,h\\n\"); scanf(\"%f,%f\l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; sv=4.0/3.0*pi*r*r*r; sz=pi*r*r*h; printf(\"l=%6.2f\\n\printf(\"s=%6.2f\\n\printf(\"sq=%6.2f\\n\printf(\"vq=%6.2f\\n\printf(\"vz=%6.2f\\n\} 4.9 main() {float c,f; scanf(\"%f\c=(5.0/9.0)*(f-32); printf(\"c=%5.2f\\n\} 4.10 #include\"stdio.h\" main() {char c1,c2; scanf(\"%c,%c\putchar(c1); putchar(c2); printf(\"\\n\"); printf(\"%c%c\\n\} 第五章 5.3 (1)0 (2)1 (3)1 (4)0 (5)1 5.4 main() {int a,b,c; scanf(\"%d,%d,%d\if(aif(b printf(\"max=%d\\n\else if(a printf(\"max=%d\\n\} main() {int a,b,c,temp,max; scanf(\"%d,%d,%demp=(a>b)?a:b; max=(c>temp)?c:temp; printf(\"max=%d\} 5.5 main() {int x,y; scanf(\"%d\if(x<1)y=x; else if(x<10)y=2*x-1; else y=3*x-11; printf(\"y=%d\} 5.6 main() {int score,temp,logic; char grade; logic=1; while(logic) {scanf(\"%d\ if(score>=0&&score<=100)logic=0; } if(score==100) temp=9; else temp=(score-score%10)/10; switch(temp) {case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; } printf\"score=%d,grade=%c\} 5.7 main() {long int num; int indiv,ten,hundred,thousand,ten_thousand,place; scanf(\"%ld\if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf(\"place=%d\\nen_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-ten_thousand*10000-thousand*1000)/100; ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10; indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10; switch(place) {case 5:printf(\"%d,%d,%d,%d,%d\\n\ printf(\"%d,%d,%d,%d,%d\\n\ break; case 4:printf(\"%d,%d,%d,%d\\n\ printf(\"%d,%d,%d,%d\\n\ break; case 3:printf(\"%d,%d,%d\\n\ printf(\"%d,%d,%d\\n\ break; case 2:printf(\"%d,%d\\n\ printf(\"%d,%d\\n\ break; case 1:printf(\"%d\\n\ printf(\"%d\\n\ } } 5.8 main() {long i; float bonus,bon1,bon2,bon4,bon6,bon10; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; scanf(\"%ld\ if(i<=1e5)bonus=i*0.1; else if(i<=2e5)bonus=bon1+(i-100000)*0.075; else if(i<=4e5)bonus=bon2+(i-200000)*0.05; else if(i<=6e5)bonus=bon4+(i-400000)*0.03; else if(i<=1e6)bonus=bon6+(i-600000)*0.015; else bonus=bon10+(i-1000000)*0.01; printf(\"bonus=%10.2f\} main() {long i; float bonus,bon1,bon2,bon4,bon6,bon10; int branch; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; scanf(\"%ld\branch=i/100000; if(branch>10)branch=10; switch(branch) {case 0:bonus=i*0.1;break; case 1:bonus=bon1+(i-100000)*0.075;break; case 2: case 3:bonus=bon2+(i-200000)*0.05;break; case 4: case 5:bonus=bon4+(i-400000)*0.03;break; case 6: case 7 case 8: case 9:bonus=bon6+(i-600000)*0.015;break; case 10:bonus=bon10+(i-1000000)*0.01; } printf(\"bonus=%10.2f\} 4.9 main() {int t,a,b,c,d; scanf(\"%d,%d,%d,%d\if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(\"%d %d %d %d\\n\} 5.10 main() {int h=10; float x,y,x0=2,y0=2,d1,d2,d3,d4; scanf(\"%f,%f\ d1=(x-x0)*(x-x0)+(y-y0)*(y-y0); d2=(x-x0)*(x-x0)+(y+y0)*(y+y0); d3=(x+x0)*(x+x0)+(y-y0)*(y-y0); d4=(x+x0)*(x+x0)+(y+y0)*(y+y0); if(d1>1&&d2>1&&d3>1&&d4>1)h=0; printf(\"h=%d\} 第六章 循环控制 6.1 main() {int a,b,num1,num2,temp; scanf(\"%d,%d\ if(num1 printf(\"%d\\n\} 6.2 #include\"stdio.h\" main() {char c; int letters=0,space=0,digit=0,other=0; while((c=getchar())!='\\n') {if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; else if(c==' ')space++; else if(c>='0'&&c<='9')digit++; else other++; } printf(\"letters=%d\\nspace=%d\\ndigit=%d\\nother=%d\\n\} 6.3 main() {int a,n,count=1,sn=0,tn=0; scanf(\"%d,%d\while(count<=n) {tn+=a; sn+=tn; a*=10; ++count; } printf(\"a+aa+aaa+...=%d\\n\} 6.4 main() {float n,s=0,t=1; for(n=1;n<=20;n++) {t*=n; s+=t; } printf(\"s=%e\\n\} 6.5 main() {int N1=100,N2=50,N3=10; float k; float s1=0,s2=0,s3=0; for(k=1;k<=N1;k++)s1+=k; for(k=1;k<=N2;k++)s2+=k*k; for(k=1;k<=N3;k++)s3+=1/k; printf(\"s=%8.2f\\n\} 6.6 main() {int i,j,k,n; for(n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n%10; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf(\"n=%d\\n\ } } 6.7 #define M 1000 main() {int k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; int i,j,n,s; for(j=2;j<=M;j++) {n=0; s=j; for(i=1;i {case 1:k0=i;break; case 2:k1=i;break; case 3:k2=i;break; case 4:k3=i;break; case 5:k4=i;break; case 6:k5=i;break; case 7:k6=i;break; case 8:k7=i;break; case 9:k8=i;break; case 10:k9=i;break; } } } if(s==0) {printf(\"j=%d\\n\ if(n>1)printf(\"%d,%d\ if(n>2)printf(\ if(n>3)printf(\ if(n>4)printf(\ if(n>5)printf(\ if(n>6)printf(\ if(n>7)printf(\ if(n>8)printf(\ if(n>9)printf(\ } } } main() {static int k[10]; int i,j,n,s; for(j=2;j<=1000;j++) {n=-1; s=j; for(i=1;i {int n,t,number=20; float a=2;b=1;s=0; for(n=1;n<=number;n++) {s=s+a/b; t=a,a=a+b,b=t; } printf(\"s=%9.6f\\n\} 6.9 main() {float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n++) {sn=sn+2*hn; hn=hn/2; } printf(\"sn=%f\\n\printf(\"hn=%f\\n\} 6.10 main() {int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; x2=x1; day--; } printf(\"x1=%d\\n\} 6.11 #include\"math.h\" main() {float a,xn0,xn1; scanf(\"%f\xn0=a/2; xn1=(xn0+a/xn0)/2; do {xn0=xn1; xn1=(xn0+a/xn0)/2; } while(fabs(xn0-xn1)>=1e-5); printf(\"a=%5.2f\\n,xn1=%8.2f\\n\} 6.12 #include\"math.h\" 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; x=x0-f/f1; } while(fabs(x-x0)>=1e-5); printf(\"x=%6.2f\\n\} 6.13 #include\"math.h\" main() {float x0,x1,x2,fx0,fx1,fx2; do {scanf(\"%f,%f\ fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6; } while(fx1*fx2>0); do {x0=(x1+x2)/2; fx0=x0*((2*x0-4)*x0+3)-6; if((fx0*fx1)<0) {x2=x0; fx2=fx0; } else {x1=x0; fx1=fx0; } } while(fabs(fx0)>=1e-5); printf(\"x0=%6.2f\\n\} 6.14 main() {int i,j,k; for(i=0;i<=3;i++) {for(j=0;j<=2-i;j++) printf(\" \"); for(k=0;k<=2*i;k++) printf(\"*\"); printf(\"\\n\"); } for(i=0;i<=2;i++) {for(j=0;j<=i;j++) printf(\" \"); for(k=0;k<=4-2*i;k++) printf(\"*\"); printf(\"\\n\"); } } 6.15 main() {char i,j,k; for(i='x';i<='z';i++) for(j='x';j<='z';j++) {if(i!=j) for(k='x';k<='z';k++) {if(i!=k&&j!=k) {if(i!='x'&&k!='x'&&k!='z') printf(\"\\na--%c\b--%c\c--%c\\n\ } } } } 第七章 数组 7.1 #include { int i,j,line,a[N]; for (i=2;i 7.2 #define N 10 main() {int i,j,min,temp,a[N]; for(i=0;i for(i=0;i for(i=0;i<3;i++) for(j=0;j<3;j++) {scanf(\"%f\ a[i][j]=sum; } for(i=0;i<3;i++) sum=sum+a[i][i]; printf(\"sum=%f\} 7.4 main() {int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number, end,i,j; scanf(\"%d\end=a[9]; if(number>end) a[10]=number; else {for(i=0;i<10;i++) {if(a[i]>number) {temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } for(i=0;i<11;i++) printf(\"%6d\} 7.5 #define N 5 main() {int a[N]={8,6,5,4,1},i,temp; for(i=0;i #define N 11 main() {int i,j,a[N][N]; for(i=1;i 7.7 main() {int a[16][16],i,j,k,p,m,n; p=1; while(p==1) {scanf(\"%d\ if((n!=0)&&(n<=15)&&(n%2!=0))p=0; } for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1; for(k=2;k<=n*n;k++) {i=i-1; j=j+1; if((i<1)&&(j>n)) {i=i+2; j=j-1; } else {if(i<1)i=n; if(j>n)j=1; } if(a[i][j]==0)a[i][j]=k; else {i=i+2; j=j-1; a[i][j]=k; } } for(i=1;i<=n;i++) {for(j=1;j<=n;j++) printf(\"%3d\ printf(\"\\n\"); } } 7.8 #define N 10 #define M 10 main() {int i,j,k,m,n,flag1,flag2,a[N][M],max,maxi,maxj; scanf(\"%d,%d\for(i=0;i if(flag1) { printf(\"\\na[%d][%d]=%d\\n\ flag2=1; } } if(!flag2) printf(\"NOT\"); } 7.9 #include #define N 15 main() {int i,j,number,top,bott,min,loca,a[N],flag; char c; for(i=0;i<=N;i++) scanf(\"%d\flag=1; while(flag) {scanf(\"%d\ loca=0; top=0; bott=N-1;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务