C语言程序设计课后习题答案.pdf
1-5#includeint main()(printf(u*nn).printf(Very Good!nn);printf(“*n”).return 0;1-6#includeint main()(int azb,c,max;printf(please input a,b,c:n);scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(HThe largest numberis%dn,max);return 0;)2-4.1include#include int main()(chara5=酱油,b5=醋,c5;strcpy(cza);strcpy(a,b);strcpy(b,c);printf(a=%s,b=%sn,a,b);return 0;)2-4.2#include int main()float a10;int i;float max;for(i=0;i10;i+)(scanf(%f,&ai);)max=a0;for(i=l;i10;i+)(if(max ai)(max=ai;)printf(max=%.lfn,max);return 0;)2 4 3/include int main()float a,b,c,t;scanf(,%f,%f,%f,&a,&b,&c);if(ab)(t=a;a=b;b=t;if(ac)(t=a;a=c;c=t;)if(bc)(t=b;b=c;c=t;)printf(“5.2f,%5.2f,%5.2fn“,a,b,c);r0=0.0072;return 0;pl=p*(l+r5)*5);p2=p*(l+2*r2)*(l+3*r3);p3=p*(l+3*r3)*(l+2*r2);p4=p*pow(l+rl,5);include p5=p*pow(l+r0/4,4*5);int main()printf(pl=%fn,pl);(printf(p2=%fn,p2);int i,t;printf(p3=%fn,p3);t=l;printf(p4=%fn,p4);i=2;printf(p5=%fn,p5);while(i=100)return 0;()t=t+i;3-3i=i+l;)#includeprintf(%dn”,t);#includereturn 0;int main()float d=300000,p=6000,r=0.01,m;m=loglO(p/(p-d*r)/loglO(l+r);#includeprintf(m=%6.1fn/m);#includereturn 0;int main()(float pjn;3-5r=0.1;#includen=10;int main()p=pow(l+cn);printf(p=%fn/p);int a,b;return 0;float x,y;char cl,c2;scanf(Ha=%d b=%d,&a,&b);scanf(%f%e,&x,&y);#includescanf(%c%c,&cl,&c2);#includeprintf(a=%d/b=%dzx=%f,y=%f,cl=%c,c2int main()%cn,a,b,x,y,cl,c2);(return 0;float r5,r3,r2jl,r0,p,pl,p2,p3,p4,p5;p=1000;r5=0.0585;3=0.054;r2=0.0468;rl=0.0414;)3-6char grade;printf(请输入学生成绩#includeint main()(char cl=,C/c2=,h,/c3=i,/c4=,n,c5=,a,;cl=cl+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf(passwordis%c%c%c%c%cn,/c l/c2,c3,c4,c5);return 0;)3-7#includeint main()(float hjl,s,sq,vq,vz;float pi=3.141526;printf(”请输入圆半径r,圆柱高h:“);scanf(,%t%f,/&r,&h);l=2*pj*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;printf(“圆周长为:l=%6.2fn”,l);printf(圆面积为:s=%6.2fn,s);printfC 圆球表面积为:sq=%6.2fnH,sq);printf(圆 球 体 积 为:vq=%6.2fn,vq);printf(圆 柱 体 积 为:vz=%6.2fnH,vz);return 0;4-8#includeint main()float score;scanf(“%f”,&score);while(score100 1 1 score0)(printf(n输入有误,请重输)scanf(%f”,&score);)switch(int)(score/10)(case 10: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(成 绩 是%5.1fz相 应 的 等 级是 (:|1,score,grade);return 0;)4-9#include#includeint main()intnumjnditen,hundred,thousandzten_thousand,place;printf(请输入一个整数(0-99999):);scanf(d”,&num);if(num9999)place=5;else if(num999)place=4;else if(num99)place=3;else if(num9)place=2;else place=l;printf(“位数:dn,place);printf(每位数字为ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(place)case5:printf(”d,%d,%d,%d,%cT,ten_thousand,thousand,hundred,ten Jndiv);printf(n反序数字为:);printf(,%d%d%d%d%dnJndiv/ten,hundred,1housand,ten_thousand);break;case4:printf(%d,%d,%d,%cT,thousand,hundred,tenjndiv);printf(n反序数字为:);printf(%d%d%d%dn,indiv/ten,hundred/thousand);break;case3:printf(%d,d,%cT,hundred,ten,indiv);printf(n反序数字为:);printf(%d%d%dn,indiv,ten,hundred);break;case 2:printf(d,%d”,ten,indiv);printf(n反序数字为:);printf(%d%dn,indiv,ten);break;case l:printf(,%d/indiv);printf(n反序数字为printf(%dn,/indiv);break;)return 0;)4-10include int main()|int i;doublebonus,bonl,bon2zbon4,bon6,bonl0;int branch;bonl=100000*0.1;bon2=bonl+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bonl0=bon6+400000*0.015;printf(“请输入利润i:);scanf(%d,&i);branch=i/100000;if(branch10)branch=10;switch(branch)(case 0:bonus=i*0.1;break;case 1bonus=bonl+(i-100000)*0.075;break;case 2:case 3bonus=bon2+(i-200000)*0.05;break;case 4:case 5bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9bonus=bon6+(i-600000)*0.015;break;case 10bonus=bonl0+(i-1000000)*0.01;break;)printf(奖金是:10.2fn,bonus);return 0;4-10include int main()(int i;doublebonus,bonl,bon2,bon4,bon6,bonl0;bonl=100000*0.1;bon2=bonl+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bonl0=bon6+400000*0.015;printf(请输入利润i:);scanf(%d,&i);if(i=100000)bonus=i*0.1;else if(i=200000)bonus=bonl+(i-100000)*0.075;else if(i=400000)bonus=bon2+(i-200000)*0.05;else if(i=600000)bonus=bon4+(i-400000)*0.03;else if(i=1000000)bonus=bon6+(i-600000)*0.015;elsebonus=bonl0+(i-1000000)*0.01;printf(奖金是:%10.2fn”,bonus);return 0;)4-11#includeint main()(int t,a,b,c,d;printf(请输入四个数:);scanf(d,%d,%d,%cT,&a,&b,&c,&d);printf(a=%d,b=%d,c=%d,d=%dn,a,b,c/d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;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(排序结果如下:n下printf(%d%d%d%d n”,a,b,c,d);return 0;4-12#includeint main()int h=10;floatxl=2,yl=2zx2=-2zy2=2/x3=-2zy3=-2,x4=2/y4=-2,x,y,dl,d2,d3,d4;printf(“请输入一个点(x,y):);scanf(%f,%f,&x,&y);dl=(x-x4)*(x-x4)+(y-y4)*(y-y4);d2=(x-xl)*(x-xl)+(y-yl)*(y-yl);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(dll&d2l&d3l&d4l)h=0;printf(“该点高度为%dn,h);return 0;)5-2/include#include int main()int sign=l,count=0;double pi=0.0,n=1.0/term=1.0;while(fabs(term)=le-6)pi=pi+term;n=n+2;sign=-sign;term=sign/n;count+;)pi=pi*4;printf(pi=%10.8fn/pi);printf(count=%dn,count);return 0;)5-2#include include int main()(int sign=l,count=0;double pi=0.0,n=1.0,term=1.0;while(fabs(term)=le-8)(pi=pi+term;n=n+2;sign=-sign;term=sign/n;count+;)pi=pi*4;printf(pi=%10.8fn,pi);printf(count=%dn,/count);return 0;)5-3include int main()(int p,.n,m,temp;prints请输入两个正整数n,m:);scanf(”d,%d,&n,&m);if(nm);n=m;m=temp;)p=n*m;while(m!=0)(r=n%m;n=m;m=r;)printf(“它们的最大公约数为:dn“,n);printf(它 们 的 最 小 公 约 数为:dn,p/n);return 0;5-4/include int main()char c;int letters=0,space=0,digit=0,other=0;printf(“请输入一行字符:n“);while(c=getchar()!=n)(if(c=a&c=A&c=0&c=9)digit+;elseother+;)printf(字母:d n 空格数:d n 数字数:dn 其 他 字 符数:drT,letters,space,digit,other);return 0;temp=n;5-5#include int main()(int a,nJ=l,sn=Oztn=O;printf(a,n=:);scanf(”d,%cT,&a,&n);while(i=n)(tn=tn+a;sn=sn+tn;a=a*10;+i;)printf(a+aa+aaa+.=%dn,sn);return 0;)5-6#include int main()(double s=O,t=l;int n;for(n=l;n=20;n+)(t=t*n;s=s+t;)printf(l!+2!+.+20!=%22.15en,s);return 0;)5-7include int main()(int 01=100,02=50,n3=10;double k,sl=0,s2=0,s3=0;for(k=l;k=nl;k+)sl=sl+k;for(k=l;k=n2;k+)s2=s2+k*k;for(k=l;k=n3;k+)s3=s3+l/k;printf(sum=%15.6fnzsl+s2+s3);return 0;)5-8#include int main()int i,j,k,n;printf(parcissus numbers are);for(n=100;n1000;n+)(i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%d”,n);)printf(n);return 0;)5-9include int main()int m,s,i;for(m=2;m1000;m+)(s=0;for(i=l;im;i+)if(m%i)=0)s=s+i;if(s=m)printf(%d,its factors are,m);for(i=l;im;i+)if(m%i=0)printf(%d J);printf(n);)return 0;)5-10#include int main()(int i,n=20;double a=2,b=l/s=0/t;for(i=l;i=n;i+)(s=s+a/b;t=a,a=a+b,b=t;)printf(sum=%16.10fn/s);return 0;)5-11include int main()(double sn=100,hn=sn/2;int n;for(n=2;n=10;n+)(sn=sn+2*hn;hn=hn/2;)printf(第 1 0 次落地时共经过米n,sn);printf(第 10 次反弹时f 米n,hn);return 0;)5-12#include int main()(int day,xl,x2;day=9;x2=l;while(day0)xl=(x2+l)*2;x2=xl;day-;printf(total=%dn,xl);return 0;)5-16include int main()|int ijk;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);return 0;5-17#include int main()(char i,j,k;for(i=x;i=,z;i+4-)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&kl=z)printf(A-%cnB-%cnC-%cnJ/j/k),return 0;6-1#include int main()(int i,j,a100;for(i=2;i100;i+)(ai=i;for(j=2;j=i;j+)(if(ji)if(ai%j=O)break;if(ai-j=O)printf(%5d,ai);)printf(n);return 0;)6-2#include int main()(int i,j,a10,t;for(i=0;i10;i+)scanf(%d,&ai);for(j=l;j10;j+)for(i=0;iai+l)(t=ai+l;ai+l=ai;ai=t;)for(i=0;i10;i+)printf(%5dn,ai);return 0;)6-3int i=0,j=0,a33,sl,s2;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);sl=a00+all+a22;s2=a02+all+a20;printf(sl=%d,s2=%dn,sl,s2);return 0;)6-4#include int main()(static inta 口 0=l,7,8,17,23,24,59,62,101;int i,t;scanf(%d,&a9);for(i=9;i0;i-)if(aiai-l)(t=ai-l;ai-l=ai;ai=t;)for(i=0;i10;i+)printf(%5d,ai);printf(n);return 0;)6-5#include int main()int 1,6(10;for(i=0;i-l;i-)printf(%5dzbi);printf(n);return 0;#include int main()6-6#include int main()(static int mzn,k,b1515;bOl=l;for(m=l;m15;m+)(for(n=l;n=m;n+)bmn=bm-ln-l+bm-ln;printf(“5d,bmn);)printf(n);)return 0;6-7#include int main()(inta1616,i,j,k,p,n;P=l;while(p=l)(printf(Enter n(n=l15):);scanf(%d,&n);if(n!=0)&(n=15)&(n%2!=0)P=0;)for(i=l;i=n;i+)for(j=l;j=n;j+)aij=0;j=n/2+l;a for(k=2;k=n*n;k+)(i=i-l;j=j+l;if(in)else(if(in)j=l;if(aij=0)aij=k;else(i=i+2;aij=k;)for(i=l;i=n;i+)(for(j=l;j=n;j+)printf(%4d,aij);printf(n);)return 0;)6-8#include int main()(int a,b,c,d,k=0,l=0;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)scanf(%d,&dij);for(i=0;i5;i+)for(j=0;j5;j+,aij=dij);for(i=0,k=0;i5;i+,k+)for(j=0;j=aiU+l)bk=aiU+l=aij;elsei=i+2;bk=aij+l;)while(fabs(i-7)8)for(j=0,l=0;j5;j+,l+)(for(i=0;i4;i+)if(ma7)(if(ai-m=0)if(aija7)for(i=0,k=0;i5;i+,k+)(if(ai-m=0)for(j=0,l=0;j5;j+,l+)printf(it is atif(dij-bk=O)(%d)n,i+l);break;()i+;if(dij-cl=O)elseprintf(d%d%d=%dn,i,j,di01);printf(8n);else)if(fabs(i-7)-8=0)printf(d%d%d=%d isnotprintf(There is notn);andin,i,j,dij);return 0;)return 0;)6-10#include 6-9int main()#include#includeint i,j,upp,low,dig;spa;oth;int main()chartext380;(upp=low=dig=spa=oth=0;static intfor(i=0;i3;i+)ijm,a15=l,4,9,13,21,34,55,89,144,233,377(,570,671,703,812;printf(n Please inputscanf(H%d,&m);line%dn,i+l);for(j=0;j15;j+)gets(texti);printf(-4d”,aj);for(j=0;j=,A&textij=a,&textiD=0,&textij=9,)dig+;else if(textij=)spa+;else oth+;)for(i=0;i3;i+)printf(%sn/texti);printf(upper case:%dnzupp);printf(Hlower case:%dn,low);printf(digit case:%dn,dig);printf(space case:%dn,spa);printf(other case:%dn,oth);return 0;)6-11#include int main()(int i,j,k;char a55;for(i=0;i5;i+)(for(j=0;i5;j+)(aiU=*;printf(%c,aij);printf(n);for(k=l;k=i+l;k+)printf(40H);printf(n);return 0;)6-12#include int main()(int i;char strl100,str2100;gets(strl);for(i=0;strli!=0;i+)if(strli=65&strli=97&strli=122)str2i=219-strli;elsestr2i=strli;printf(%sn%sn,strl/str2);return 0;)6-13#include int main()int ij;char strl100,str2100,str3201;gets(strl);gets(str2);for(i=0;strli!=0;i+)str3i=strli;for(j=0;str2j!=0,;j+)str3j+i=str2j;printf(%sn%sn%sn,strl,str2,str3);return 0;)6-14#include#include int main()int i,resu;charsl100,s2100;printf(n input stringl:);gets(sl);printf(n Input string2:);gets(s2);i=0;while(sli=s2i&sli!=0)i+;if(sli=0,&as2i=0)resu=O;else resu=sli-s2i;printf(n result:%dn,resu);return 0;6-15#include int main()(char sl80,s280;int i;printf(lnputs2:);scanf(%s,s2);for(i=0;istrlen(s2);i+)sli=s2i;printf(sl:%sn,sl);return 0;)7-5#include int main()(char str0100;gets(strO);fanxu(strO);puts(strO);)fanxu(strl)char strl100;(intchar str2100;strcpy(str2,strl);t=strlen(strl);for(i=OJ=t-l;j-l;i+J-)strli=str2j;return 0;7-6lianjie(a,b)char a100,b100;strcat(a,b);)main()char strl100,str2100;gets(strl);gets(str2);Iianjie(strl,str2);puts(strl);7-8char f(b)char b4;int i=0;for(;i4;i+)printf();printf(%c,bi);printf(n);)main()int a,u,v,w,t;char c4;scanf(%4d,&a);u=a*0.001;v=0.01*(a-1000*u);w=(a-1000*u-l00*v)*0.1;t=a-1000*u-100*v-10*w;c0=u+48;cl=v+48;c2=w+48;c3=t+48;f(c);)7-11int paixu(x)intx;int ijt;for(j=l;j10;j+)for(i=0;ixi+l)t=xi+l;xi+l=xi;xi=t;)main()int y10;int i;for(i=0;i10;i+)scanf(%d,&yi);paixu(y);for(i=0;i10;i+)printf(”5d,yi);printf(n);)7-14float xl10,x25;float pp(),cc(),find(),xx();main()char name1020,class520;floatscore105,o,k=0,max5;int a5,i,j;for(i=0;i10;i+)gets(namei);for(j=0;j5;j+)gets(classj);for(i=0;i10;i+)for(j=0;j5;j+)scanf(%f,&scoreij);pp(score);cc(score);find(score,max,a);o=xx(k);for(i=0;i10;i+)puts(namei);printf(%.3fn,xli);for(j=0;j5;j+)puts(classj);printf(%.3fn,x2j);for(j=0;j5;j+)printf(”.3f n,maxj);puts(nameaj);puts(classj);printf(o=%.3fn/o);)float pp(f)float f105;float sum=O;int ij;for(i=0/sum=0;i10;i+)for(j=0;j5;j+)sum=sum+fij;xli=sum/5;)float cc(y)float y105;float sum=0;int ij;for(j=0;j5;j+)for(i=0;i10;i+)sum=sum+yij;xlj=sum/10;)float find(z,s,t)float z105,s5;int t5;int i,j;for(j=0zsj=z0j;j5;j+)for(i=0;i10;i+)if(sOziU)sD=ziO;tU=i;)float xx(q)float q;float f=0,e=0;int i;for(i=0;i10;i+)e=xli*xli+e;f=f+xli;q=e/10-(f/10)*(f/10);return(q);)7-16#includeint x;ff(shu)char shu;int i=strlen(shu)-l/sum=O;for(;i-l;i+)if(if(48=shui=57)sum=sum+(shui-48)*pow(16/(i-l);else if(65=shui=90)sum=sum+(shui-55)*pow(16/(i-l);else if(97=shui=102)sum=sum+(shui-87)*pow(16/(i-l);x=l;)else x=0;return x;)main()char shufu100;int s;gets(shufu);s=ff(shufu);if(x)printf(s(D)=%dnzs);else printf(The number is not oxn);)8-4#includeint main()(void move(int20,intjnt);int number20,n,mJ;printf(how many number?);scanf(%d,&n);printf(input%d numbers:n,n);for(i=0;in;i+)scanf(%dz&numberi);printf(Hhow many place you wantmove?);scanf(”d”,&m);move(number;n,m);printf(Now,they are:n);for(i=0;iarray;p-)*P=*(P-1);*array=array_end;m-;if(m0)move(array,n,m);)8-6#includeint main()int length(char*p);int len;char str20;printf(input string:);scanf(%s,str);len=length(str);printf(The length of string is%d.nJen);return 0;)int length(char*p)int n;n=0;while(*p!=0)n+;P+;)return(n);)8-7include include int main()void copystr(char*zchar*,int);int m;char strl20,str220;printf(input string:);gets(strl);printf(Hwhich character that begin tocopy?);scanf(%dz&m);if(strlen(strl)m)printf(input error!);elsecopystr(strlzstr2zm);printf(result:%sn,str2);return 0;void copystr(char*pl,char*p2Jnt m)int n;n=0;while(nm-l)n+;pl+;)while(*pl!=0)*p2=*pl;P1+;p2+;)*p2=0;)8-9#includeint main()void move(int*pointer);inta33z*p,i;printf(input matrix:n);for(i=0;i3;i+)scanf(%d%d%d,&ai2);p=&a00;move(p);printf(Nowz matrix:n);for(i=0;i3;i+)printf(%d%d%dn/ai0/ail/ai2);return 0;void move(int*pointer)intfor(i=0;i3;i+)for(j=0;j3;j+)t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*(pointer+3*j+i)=t;)8-15#include int maim()void avsco(float*,float*);void avcourl(char(*)10,float*);void fali2(char course510,int num,float*pscore,float aver4);void good(char course510,intnum4,float*pscore,float aver4);int i,j,*pnum,num4;float score45,aver4,*pscore,*paver;char course510,(*pcourse)10;printf(input course:n);pcourse=course;for(i=0;i5;i+)scanf(%s,coursei);printf(input NO.and course:n);printf(NO.);for(i=0;i5;i+)printf(,%s,coursei);printf(n);pscore=&score00;pnum=&num0;for(i=0;i4;i+)scanf(%d,pnum+i);for(i=0;j5;j+)scanf(“%f”,pscore+5*i+j);)paver=&aver0;printf(nn);avsco(pscore,paver);avcourl(pcoursezpscore);printf(nn);fali2(pcourse,pnum/pscore/paver);printf(nn);good(pcourse,pnum,pscore,paver);return 0;void avsco(float*pscore,float*paver)int i,j;float sum,average;for(i=0;i4;i+)sum=0.0;for(j=0;j5;j+)sum=sum+(*(pscore+5*i+j);average=sum/5;*(paver+i)=average;)void avcourl(char(*pcourse)10/float*pscore)int i;float sum,averagel;sum=0.0;for(i=0;i4;i+)sum=sum+(*(pscore+5*i);averagel=sum/4;printf(course l:%s average score:%7.2fn”,*pcourse,averagel);)void fali2(char course510,intnum/float*pscore/float aver4)int i,jzk,label;printf(=Student whois fail in two=n);printf(NO.);for(i=0;i5;i+)printf(%llszcoursei);printf(averagenH);for(i=0;i4;i+)label=0;for(j=0;j5;j+)if(*(pscore+5*i+j)=2)printf(%d”,numi);for(k=0;k5;k+)printf(,%11.2f,*(pscore+