1、习题答案第一章1.5# include void main()printf(“* * * * * * * * *n Very good!n* * * * * * * * *n“);1.6(法一)#include main()int a,b,c,max;scanf(“%d,%d,%d“,max=(ab)?a:b;max=(maxc)?max:c;printf(“max=%dn“,max);(法二)main()int a,b,c,max;scanf(“%d,%d,%d“,if(abelse if (bc)max=b;elsemax=c;printf(“max=%dn“,max);(法三)# inc
2、lude void main()int max(int x,int y,int z);int a,b,c,d;scanf(“%d,%d,%d“,d=max(a,b,c);printf(“max=%dn“,d);int max(int x,int y,int z)int A,B;if(xy) A=x;else A=y;if(zA) 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)
3、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)163.6aabb (8)cc (8)abc(7)AN3.7main()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%cn“,c1,c2,c3,c4,c5);3.8main()int c1,c2;c1=97;c2=98;printf(“%c %c“,c1,c2);3.
4、9(1)=2.5(2)=3.53.109,11,9,103.12(1)24 (2)10 (3)60 (4)0 (5)0 (6)0第四章4.4main()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=%2dn“,a,b,c);printf(“x=%8.6f,y=%8.6f,z=%9.6fn“,x,y,z);printf(“x+y=%5.2f y+z=%5.2f z+x=
5、%5.2fn“,x+y,y+z,z+x);printf(“u=%6ld n=%9ldn“,u,n);printf(“c1=%cor %d(ASCII)n“,c1,c1);printf(“c2=%cor %d(ASCII)n“,c2,c2);4.5575 767.856400,-789.12396267.856400,-789.12396267.86 -789.12,67.856400,-789.123962,67.856400,-789.1239626.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,177777,ffff,
6、-1COMPUTER, COM4.6a=3 b=7/x=8.5 y=71.82/c1=A c2=a/4.710 20Aa1.5 -3.75 +1.4,67.8/(空 3)10(空 3)20Aa1.5(空 1)-3.75(空 1)(随意输入一个数),67.8 回车4.8main()float pi,h,r,l,s,sq,sv,sz;pi=3.1415926;printf(“input r,hn“);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.2fn“,l);pri
7、ntf(“s=%6.2fn“,s);printf(“sq=%6.2fn“,sq);printf(“vq=%6.2fn“,sv);printf(“vz=%6.2fn“,sz);4.9main()float c,f;scanf(“%f“,c=(5.0/9.0)*(f-32);printf(“c=%5.2fn“,c);4.10#include“stdio.h“main()char c1,c2;scanf(“%c,%c“,putchar(c1);putchar(c2);printf(“n“);printf(“%c%cn“,c1,c2);第五章5.3(1)0 (2)1 (3)1 (4)0 (5)15.4
8、main()int a,b,c;scanf(“%d,%d,%d“,if(ab)?a:b;max=(ctemp)?c:temp;printf(“max=%d“,max);5.5main()int x,y;scanf(“%d“,if(x=0else if(num999) place=4;else if(num99) place=3;else if(num9) place=2;else place=1;printf(“place=%dn“,place);ten_thousand=num/10000;thousand=(num-ten_thousand*10000)/1000;hundred=(num
9、-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,%dn“,ten_thousand,thousand,hundred,ten,indiv);printf(“%d,%d,%d,%d,%dn“,indiv,ten,hundred,thousand,ten
10、_thousand);break;case 4:printf(“%d,%d,%d,%dn“,thousand,hundred,ten,indiv);printf(“%d,%d,%d,%dn“,indiv,ten,hundred,thousand);break;case 3:printf(“%d,%d,%dn“,hundred,ten,indiv);printf(“%d,%d,%dn“,indiv,ten,hundred);break;case 2:printf(“%d,%dn“,ten,indiv);printf(“%d,%dn“,indiv,ten);break; case 1:printf
11、(“%dn“,indiv);printf(“%dn“,indiv);5.8main()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(i10)branch=10;switch(branch)case 0:bonus=i*0.1;break;case 1:bonus=bon1+(i-100000)*0.075;br
12、eak;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 7case 8:case 9:bonus=bon6+(i-600000)*0.015;break;case 10:bonus=bon10+(i-1000000)*0.01;printf(“bonus=%10.2f“,bonus);4.9main()int t,a,b,c,d;scanf(“%d,%d,%d,%d“,if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;
13、c=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(“%d %d %d %dn“,a,b,c,d);5.10main()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(d
14、11printf(“h=%d“,h);第六章 循环控制6.1main()int a,b,num1,num2,temp;scanf(“%d,%d“,if(num1=aif(n2)printf(“,%d“,k2);if(n3)printf(“,%d“,k3);if(n4)printf(“,%d“,k4);if(n5)printf(“,%d“,k5);if(n6)printf(“,%d“,k6);if(n7)printf(“,%d“,k7);if(n8)printf(“,%d“,k8);if(n9)printf(“,%dn“,k9);main()static int k10;int i,j,n,s;
15、for(j=2;j0)x1=(x2+1)*2;x2=x1;day-;printf(“x1=%dn“,x1);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.2fn,xn1=%8.2fn“,a,xn1);6.12#include“math.h“main()float x,x0,f,f1;x=1.5;dox0=x;f=(2*x0-4)*x0+3)*x0-6
16、;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x-x0)=1e-5);printf(“x=%6.2fn“,x);6.13#include“math.h“main()float x0,x1,x2,fx0,fx1,fx2;doscanf(“%f,%f“,fx1=x1*(2*x1-4)*x1+3)-6;fx2=x2*(2*x2-4)*x2+3)-6;while(fx1*fx20);dox0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6;if(fx0*fx1)=1e-5);printf(“x0=%6.2fn“,x0);6.14main()int i
17、,j,k;for(i=0;i#define N 101main() int i,j,line,aN;for (i=2;iaj)min=j;temp=ai;ai=amin;amin=temp;for(i=0;iend) a10=number;else for(i=0;inumber)temp1=ai;ai=number;for(j=i+1;jn)i=i+2;j=j-1;elseif(in)j=1;if(aij=0)aij=k;elsei=i+2;j=j-1;aij=k;for(i=1;iakmaxj)flag1=0;if(flag1) printf(“na%d%d=%dn“,i,maxj,max
18、);flag2=1;if(!flag2) printf(“NOT“);7.9#include#define N 15main()int i,j,number,top,bott,min,loca,aN,flag;char c;for(i=0;iaN-1)loca=-1;while(loca=0)char ch80,tran80;gets(ch);i=0;while(chi!=0)if(chi=A)char s1100,s2100;gets(s1);gets(s2);i=0;while(s1i=s2i)if(s1i=0else resu=s1i-s2i;printf(“s1=%s,s2=%s,re
19、su=%dn“,s1,s2,resu);7.15#include“stdio.h“main()char from80,to80;int i;scanf(“%s“,from);for(i=0;iv)t=u;u=v;v=t;a=u;b=v;while(r=b%a)!=0)b=a;a=r;return(a);lcd(u,v,h)int u,v,h;return(u*v/h);main()int u,v,h,l;scanf(“%d,%d“,h=hcf(u,v);printf(“H.C.F=%dn“,h);l=lcd(u,v,h);printf(“L.C.D=%dn“,l);8.2#include“ma
20、th.h“float x1,x2,disc,p,q;greater_than_zero(a,b)float a,b;x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);equal_to_zero(a,b)flaot a,b;x1=x2=-b/(2*a);smaller_than_zero(a,b)float a,b;p=-b/(2*a);q=sqrt(-disc)/(2*a);main()float a,b,c;scanf(“%f,%f,%f“,disc=b*b-4*a*c;if(fabs(disc)0)greater_than_zero(a,b);
21、printf(“x1=%5.2ftx2=%5.2fn“,x1,x2);elsesmaller_than_zero(a,b);printf(“x1=%5.2f+%5.2fitx2=%5.2f-%5.2fin“,p,q,p,q);8.3main()int number;scanf(“%d“,if(prime(number)printf(“yes“);elseprintf(“no“);int prime(number)int number;int flag=1,n;for(n=2;n0;i-)stri*2=stri;stri*2-1= ;printf(“%sn“,str);8.9int alph,d
22、igit,space,others;main()char text80;gets(text);alph=0,digit=0,space=0,others=0;count(text);printf(“nalph=%d,digit=%d,space=%d,others=%dn“,alph,digit,space,others);count(str)char str;int i;for(i=0;stri!=0;i+)if(stri=aplace=point;len=0;return(place);main()int i;char line100;gets(line);for(i=longest(li
23、ne);alph(linei);i+)printf(“%c“,linei);printf(“n“);8.11#define N 10char strN;main()int i,flag;for(flag=1;flag=1;)scanf(“%s“,str);if(strlen(str)N)printf(“input error“);elseflag=0;sort(str);for(i=0;istri+1)t=stri;stri=stri+1;stri+1=t;8.12#includefloat solut(a,b,c,d)float a,b,c,d;float x=1,x0,f,f1;do x0
24、=x;f=(a*x0+b)*x0+c)*x0+d;f1=(3*a*x0+2*b)*x0+c;x=x0-f/f1;while(fabs(x-x0)=1e-5);return(x);main()float a,b,c,d;scanf(“%f,%f,%f,%f“,printf(“x=%10.7fn“,solut(a,b,c,d);8.13main()int x,n;float p();scanf(“%d,%d“,printf(“P%d(%d)=%10.2fn“,n,x,p(n,x);float p(tn,tx)int tn,tx;if(tn=0)return(1);else if(tn=1)retu
25、rn(tx);elsereturn(2*tn-1)*tx*p(tn-1),tx)-(tn-1)*p(tn-2),tx)/tn);8.14#define N 10#define M 5float scoreNM;float a_stuN,a_corM;main()int i,j,r,c;float h;float s_diff();float highest();r=0;c=1;input_stu();avr_stu();avr_cor();printf(“n number class 1 2 3 4 5 avr“);for(i=0;ihigh)high=scoreij;*r=i+1;*c=j+1;return(high);float s_diff()int i,j;float sumx=0.0,sumxn=0.0;for(i=0;i#define N 10void input_e(num,name)int num;char nameN8;int i;for(i=0;inumj)min=j;