C语言程序设计课后习题答案.docx
《C语言程序设计课后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课后习题答案.docx(59页珍藏版)》请在冰点文库上搜索。
C语言程序设计课后习题答案
1-5
#include
intmain()
{
printf("*************************\n\n");
printf("VeryGood!
\n\n");
printf("*************************\n");
return0;
}
1-6
inta,b,c,max;
printf("pleaseinputa,b,c:
\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max
max=b;
if(maxmax=c;printf("Thelargestnumberis%d\n",max);return0;}2-4.1#include#includeintmain(){chara[5]="酱油",b[5]="醋",c[5];strcpy(c,a);strcpy(a,b);strcpy(b,c);printf("a=%s,b=%s\n",a,b);return0;}2-4.2#includeintmain(){floata[10];inti;floatmax;for(i=0;i<10;i++){scanf("%f",&a[i]);}max=a[0];for(i=1;i<10;i++){if(max{max=a[i];}}printf("max=%.1f\n",max);return0;}2-4.3#includeintmain(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return0;}2-4.4#includeintmain(){inti,t;t=1;i=2;while(i<=100){t=t+i;i=i+1;}printf("%d\n",t);return0;}3-1#include#includeintmain(){floatp,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return0;}3-2#include#includeintmain(){floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf("p1=%f\n",p1);printf("p2=%f\n",p2);printf("p3=%f\n",p3);printf("p4=%f\n",p4);printf("p5=%f\n",p5);return0;}3-3#include#includeintmain(){floatd=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%6.1f\n",m);return0;}3-5#includeintmain(){inta,b;floatx,y;charc1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return0;} 3-6#includeintmain(){charc1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passwordis%c%c%c%c%c\n",c1,c2,c3,c4,c5);return0;}3-7#includeintmain(){floath,r,l,s,sq,vq,vz;floatpi=3.141526;printf("请输入圆半径r,圆柱高h:");scanf("%f,%f",&r,&h);l=2*pi*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.2f\n",l);printf("圆面积为:s=%6.2f\n",s);printf("圆球表面积为:sq=%6.2f\n",sq);printf("圆球体积为:vq=%6.2f\n",vq);printf("圆柱体积为:vz=%6.2f\n",vz);return0;4-8#includeintmain(){floatscore;chargrade;printf("请输入学生成绩:");scanf("%f",&score);while(score>100||score<0){printf("\n输入有误,请重输");scanf("%f",&score);}switch((int)(score/10)){case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;case5:case4:case3:case2:case1:case0:grade='E';}printf("成绩是%5.1f,相应的等级是%c\n",score,grade);return0;}4-9#include#includeintmain(){intnum,indiv,ten,hundred,thousand,ten_thousand,place;printf("请输入一个整数(0-99999):");scanf("%d",&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("位数:%d\n",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,%d",ten_thousand,thousand,hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);break;case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break;case3:printf("%d,%d,%d",hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d\n",indiv,ten,hundred);break;case2:printf("%d,%d",ten,indiv);printf("\n反序数字为:");printf("%d%d\n",indiv,ten);break;case1:printf("%d",indiv);printf("\n反序数字为:");printf("%d\n",indiv);break;}return0;}4-10#includeintmain(){inti;doublebonus,bon1,bon2,bon4,bon6,bon10;intbranch;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%d",&i);branch=i/100000;if(branch>10)branch=10;switch(branch){case0:bonus=i*0.1;break;case1:bonus=bon1+(i-100000)*0.075;break;case2:case3:bonus=bon2+(i-200000)*0.05;break;case4:case5:bonus=bon4+(i-400000)*0.03;break;case6:case7:case8:case9:bonus=bon6+(i-600000)*0.015;break;case10:bonus=bon10+(i-1000000)*0.01;break;}printf("奖金是:%10.2f\n",bonus);return0;}4-10#includeintmain(){inti;doublebonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%d",&i);if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bon1+(i-100000)*0.075;elseif(i<=400000)bonus=bon2+(i-200000)*0.05;elseif(i<=600000)bonus=bon4+(i-400000)*0.03;elseif(i<=1000000)bonus=bon6+(i-600000)*0.015;elsebonus=bon10+(i-1000000)*0.01;printf("奖金是:%10.2f\n",bonus);return0;}4-11#includeintmain(){intt,a,b,c,d;printf("请输入四个数:");scanf("%d,%d,%d,%d",&a,&b,&c,&d);printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,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("排序结果如下:\n");printf("%d%d%d%d\n",a,b,c,d);return0;}4-12#includeintmain(){inth=10;floatx1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf("请输入一个点(x,y):");scanf("%f,%f",&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(d1>1&&d2>1&&d3>1&&d4>1)h=0;printf("该点高度为%d\n",h);return0;}5-2#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6){pi=pi+term;n=n+2;sign=-sign;term=sign/n;count++;}pi=pi*4;printf("pi=%10.8f\n",pi);printf("count=%d\n",count);return0;}5-2#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-8){pi=pi+term;n=n+2;sign=-sign;term=sign/n;count++;}pi=pi*4;printf("pi=%10.8f\n",pi);printf("count=%d\n",count);return0;}5-3#includeintmain(){intp,r,n,m,temp;printf("请输入两个正整数n,m:");scanf("%d,%d,",&n,&m);if(n{temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n",n);printf("它们的最小公约数为:%d\n",p/n);return0;}5-4#includeintmain(){charc;intletters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseother++;}printf("字母:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);return0;} 5-5#includeintmain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+...=%d\n",sn);return0;}5-6#includeintmain(){doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%22.15e\n",s);return0;}5-7#includeintmain(){intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k<=n1;k++){s1=s1+k;}for(k=1;k<=n2;k++){s2=s2+k*k;}for(k=1;k<=n3;k++){s3=s3+1/k;}printf("sum=%15.6f\n",s1+s2+s3);return0;}5-8#includeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;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");return0;}5-9#includeintmain(){intm,s,i;for(m=2;m<1000;m++){s=0;for(i=1;iif((m%i)==0)s=s+i;if(s==m){printf("%d,itsfactorsare",m);for(i=1;iif(m%i==0)printf("%d",i);printf("\n");}}return0;}5-10#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}5-11#includeintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹时%f米\n",hn);return0;}5-12#includeintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}5-16#includeintmain(){inti,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");}return0;}5-17#include<
max=c;
printf("Thelargestnumberis%d\n",max);
2-4.1
chara[5]="酱油",b[5]="醋",c[5];
strcpy(c,a);
strcpy(a,b);
strcpy(b,c);
printf("a=%s,b=%s\n",a,b);
2-4.2
floata[10];
inti;
floatmax;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(max{max=a[i];}}printf("max=%.1f\n",max);return0;}2-4.3#includeintmain(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return0;}2-4.4#includeintmain(){inti,t;t=1;i=2;while(i<=100){t=t+i;i=i+1;}printf("%d\n",t);return0;}3-1#include#includeintmain(){floatp,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return0;}3-2#include#includeintmain(){floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf("p1=%f\n",p1);printf("p2=%f\n",p2);printf("p3=%f\n",p3);printf("p4=%f\n",p4);printf("p5=%f\n",p5);return0;}3-3#include#includeintmain(){floatd=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%6.1f\n",m);return0;}3-5#includeintmain(){inta,b;floatx,y;charc1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return0;} 3-6#includeintmain(){charc1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passwordis%c%c%c%c%c\n",c1,c2,c3,c4,c5);return0;}3-7#includeintmain(){floath,r,l,s,sq,vq,vz;floatpi=3.141526;printf("请输入圆半径r,圆柱高h:");scanf("%f,%f",&r,&h);l=2*pi*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.2f\n",l);printf("圆面积为:s=%6.2f\n",s);printf("圆球表面积为:sq=%6.2f\n",sq);printf("圆球体积为:vq=%6.2f\n",vq);printf("圆柱体积为:vz=%6.2f\n",vz);return0;4-8#includeintmain(){floatscore;chargrade;printf("请输入学生成绩:");scanf("%f",&score);while(score>100||score<0){printf("\n输入有误,请重输");scanf("%f",&score);}switch((int)(score/10)){case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;case5:case4:case3:case2:case1:case0:grade='E';}printf("成绩是%5.1f,相应的等级是%c\n",score,grade);return0;}4-9#include#includeintmain(){intnum,indiv,ten,hundred,thousand,ten_thousand,place;printf("请输入一个整数(0-99999):");scanf("%d",&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("位数:%d\n",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,%d",ten_thousand,thousand,hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);break;case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break;case3:printf("%d,%d,%d",hundred,ten,indiv);printf("\n反序数字为:");printf("%d%d%d\n",indiv,ten,hundred);break;case2:printf("%d,%d",ten,indiv);printf("\n反序数字为:");printf("%d%d\n",indiv,ten);break;case1:printf("%d",indiv);printf("\n反序数字为:");printf("%d\n",indiv);break;}return0;}4-10#includeintmain(){inti;doublebonus,bon1,bon2,bon4,bon6,bon10;intbranch;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%d",&i);branch=i/100000;if(branch>10)branch=10;switch(branch){case0:bonus=i*0.1;break;case1:bonus=bon1+(i-100000)*0.075;break;case2:case3:bonus=bon2+(i-200000)*0.05;break;case4:case5:bonus=bon4+(i-400000)*0.03;break;case6:case7:case8:case9:bonus=bon6+(i-600000)*0.015;break;case10:bonus=bon10+(i-1000000)*0.01;break;}printf("奖金是:%10.2f\n",bonus);return0;}4-10#includeintmain(){inti;doublebonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%d",&i);if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bon1+(i-100000)*0.075;elseif(i<=400000)bonus=bon2+(i-200000)*0.05;elseif(i<=600000)bonus=bon4+(i-400000)*0.03;elseif(i<=1000000)bonus=bon6+(i-600000)*0.015;elsebonus=bon10+(i-1000000)*0.01;printf("奖金是:%10.2f\n",bonus);return0;}4-11#includeintmain(){intt,a,b,c,d;printf("请输入四个数:");scanf("%d,%d,%d,%d",&a,&b,&c,&d);printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,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("排序结果如下:\n");printf("%d%d%d%d\n",a,b,c,d);return0;}4-12#includeintmain(){inth=10;floatx1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf("请输入一个点(x,y):");scanf("%f,%f",&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(d1>1&&d2>1&&d3>1&&d4>1)h=0;printf("该点高度为%d\n",h);return0;}5-2#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6){pi=pi+term;n=n+2;sign=-sign;term=sign/n;count++;}pi=pi*4;printf("pi=%10.8f\n",pi);printf("count=%d\n",count);return0;}5-2#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-8){pi=pi+term;n=n+2;sign=-sign;term=sign/n;count++;}pi=pi*4;printf("pi=%10.8f\n",pi);printf("count=%d\n",count);return0;}5-3#includeintmain(){intp,r,n,m,temp;printf("请输入两个正整数n,m:");scanf("%d,%d,",&n,&m);if(n{temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n",n);printf("它们的最小公约数为:%d\n",p/n);return0;}5-4#includeintmain(){charc;intletters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseother++;}printf("字母:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);return0;} 5-5#includeintmain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+...=%d\n",sn);return0;}5-6#includeintmain(){doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%22.15e\n",s);return0;}5-7#includeintmain(){intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k<=n1;k++){s1=s1+k;}for(k=1;k<=n2;k++){s2=s2+k*k;}for(k=1;k<=n3;k++){s3=s3+1/k;}printf("sum=%15.6f\n",s1+s2+s3);return0;}5-8#includeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;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");return0;}5-9#includeintmain(){intm,s,i;for(m=2;m<1000;m++){s=0;for(i=1;iif((m%i)==0)s=s+i;if(s==m){printf("%d,itsfactorsare",m);for(i=1;iif(m%i==0)printf("%d",i);printf("\n");}}return0;}5-10#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}5-11#includeintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹时%f米\n",hn);return0;}5-12#includeintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}5-16#includeintmain(){inti,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");}return0;}5-17#include<
max=a[i];
printf("max=%.1f\n",max);
2-4.3
floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
t=a;
a=b;
b=t;
if(a>c)
a=c;
c=t;
if(b>c)
t=b;
b=c;
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
2-4.4
inti,t;
t=1;
i=2;
while(i<=100)
t=t+i;
i=i+1;
printf("%d\n",t);
3-1
floatp,r,n;
r=0.1;
n=10;
p=pow(1+r,n);
printf("p=%f\n",p);
3-2
floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5);
p2=p*(1+2*r2)*(1+3*r3);
p3=p*(1+3*r3)*(1+2*r2);
p4=p*pow(1+r1,5);
p5=p*pow(1+r0/4,4*5);
printf("p1=%f\n",p1);
printf("p2=%f\n",p2);
printf("p3=%f\n",p3);
printf("p4=%f\n",p4);
printf("p5=%f\n",p5);
3-3
floatd=300000,p=6000,r=0.01,m;
m=log10(p/(p-d*r))/log10(1+r);
printf("m=%6.1f\n",m);
3-5
inta,b;
floatx,y;
charc1,c2;
scanf("a=%db=%d",&a,&b);
scanf("%f%e",&x,&y);
scanf("%c%c",&c1,&c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);
3-6
charc1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("passwordis%c%c%c%c%c\n",c1,c2,c3,c4,c5);
3-7
floath,r,l,s,sq,vq,vz;
floatpi=3.141526;
printf("请输入圆半径r,圆柱高h:
");
scanf("%f,%f",&r,&h);
l=2*pi*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.2f\n",l);
printf("圆面积为:
s=%6.2f\n",s);
printf("圆球表面积为:
sq=%6.2f\n",sq);
printf("圆球体积为:
vq=%6.2f\n",vq);
printf("圆柱体积为:
vz=%6.2f\n",vz);
4-8
floatscore;
chargrade;
printf("请输入学生成绩:
scanf("%f",&score);
while(score>100||score<0)
printf("\n输入有误,请重输");
switch((int)(score/10))
case10:
case9:
grade='A';break;
case8:
grade='B';break;
case7:
grade='C';break;
case6:
grade='D';break;
case5:
case4:
case3:
case2:
case1:
case0:
grade='E';
printf("成绩是%5.1f,相应的等级是%c\n",score,grade);
4-9
intnum,indiv,ten,hundred,thousand,ten_thousand,place;
printf("请输入一个整数(0-99999):
scanf("%d",&num);
if(num>9999)
place=5;
elseif(num>999)
place=4;
elseif(num>99)
place=3;
elseif(num>9)
place=2;
elseplace=1;
printf("位数:
%d\n",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,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("\n反序数字为:
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
break;
printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
printf("%d,%d,%d",hundred,ten,indiv);
printf("%d%d%d\n",indiv,ten,hundred);
printf("%d,%d",ten,indiv);
printf("%d%d\n",indiv,ten);
printf("%d",indiv);
printf("%d\n",indiv);
4-10
doublebonus,bon1,bon2,bon4,bon6,bon10;
intbranch;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+100000*0.05;
bon6=bon4+100000*0.03;
bon10=bon6+400000*0.015;
printf("请输入利润i:
scanf("%d",&i);
branch=i/100000;
if(branch>10)branch=10;
switch(branch)
bonus=i*0.1;break;
bonus=bon1+(i-100000)*0.075;break;
bonus=bon2+(i-200000)*0.05;break;
bonus=bon4+(i-400000)*0.03;break;
bonus=bon6+(i-600000)*0.015;break;
bonus=bon10+(i-1000000)*0.01;break;
printf("奖金是:
%10.2f\n",bonus);
if(i<=100000)
bonus=i*0.1;
elseif(i<=200000)
bonus=bon1+(i-100000)*0.075;
elseif(i<=400000)
bonus=bon2+(i-200000)*0.05;
elseif(i<=600000)
bonus=bon4+(i-400000)*0.03;
elseif(i<=1000000)
bonus=bon6+(i-600000)*0.015;
else
bonus=bon10+(i-1000000)*0.01;
4-11
intt,a,b,c,d;
printf("请输入四个数:
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
{t=a;a=b;b=t;}
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
{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("排序结果如下:
printf("%d%d%d%d\n",a,b,c,d);
4-12
inth=10;
floatx1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
printf("请输入一个点(x,y):
scanf("%f,%f",&x,&y);
d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);
d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);
d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
if(d1>1&&d2>1&&d3>1&&d4>1)h=0;
printf("该点高度为%d\n",h);
5-2
intsign=1,count=0;
doublepi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-6)
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
count++;
pi=pi*4;
printf("pi=%10.8f\n",pi);
printf("count=%d\n",count);
while(fabs(term)>=1e-8)
5-3
intp,r,n,m,temp;
printf("请输入两个正整数n,m:
scanf("%d,%d,",&n,&m);
if(n{temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n",n);printf("它们的最小公约数为:%d\n",p/n);return0;}5-4#includeintmain(){charc;intletters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseother++;}printf("字母:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);return0;} 5-5#includeintmain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+...=%d\n",sn);return0;}5-6#includeintmain(){doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%22.15e\n",s);return0;}5-7#includeintmain(){intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k<=n1;k++){s1=s1+k;}for(k=1;k<=n2;k++){s2=s2+k*k;}for(k=1;k<=n3;k++){s3=s3+1/k;}printf("sum=%15.6f\n",s1+s2+s3);return0;}5-8#includeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;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");return0;}5-9#includeintmain(){intm,s,i;for(m=2;m<1000;m++){s=0;for(i=1;iif((m%i)==0)s=s+i;if(s==m){printf("%d,itsfactorsare",m);for(i=1;iif(m%i==0)printf("%d",i);printf("\n");}}return0;}5-10#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}5-11#includeintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹时%f米\n",hn);return0;}5-12#includeintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}5-16#includeintmain(){inti,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");}return0;}5-17#include<
temp=n;
n=m;
m=temp;
p=n*m;
while(m!
=0)
r=n%m;
m=r;
printf("它们的最大公约数为:
%d\n",n);
printf("它们的最小公约数为:
%d\n",p/n);
5-4
charc;
intletters=0,space=0,digit=0,other=0;
printf("请输入一行字符:
while((c=getchar())!
='\n')
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digit++;
other++;
printf("字母:
%d\n空格数:
%d\n数字数:
%d\n其他字符数:
%d\n",letters,space,digit,other);
5-5
inta,n,i=1,sn=0,tn=0;
printf("a,n=:
scanf("%d,%d",&a,&n);
while(i<=n)
tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
printf("a+aa+aaa+...=%d\n",sn);
5-6
doubles=0,t=1;
intn;
for(n=1;n<=20;n++)
t=t*n;
s=s+t;
printf("1!
+2!
+...+20!
=%22.15e\n",s);
5-7
intn1=100,n2=50,n3=10;
doublek,s1=0,s2=0,s3=0;
for(k=1;k<=n1;k++)
{s1=s1+k;}
for(k=1;k<=n2;k++)
{s2=s2+k*k;}
for(k=1;k<=n3;k++)
{s3=s3+1/k;}
printf("sum=%15.6f\n",s1+s2+s3);
5-8
inti,j,k,n;
printf("parcissusnumbersare");
for(n=100;n<1000;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");
5-9
intm,s,i;
for(m=2;m<1000;m++)
s=0;
for(i=1;iif((m%i)==0)s=s+i;if(s==m){printf("%d,itsfactorsare",m);for(i=1;iif(m%i==0)printf("%d",i);printf("\n");}}return0;}5-10#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}5-11#includeintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹时%f米\n",hn);return0;}5-12#includeintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}5-16#includeintmain(){inti,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");}return0;}5-17#include<
if((m%i)==0)s=s+i;
if(s==m)
{printf("%d,itsfactorsare",m);
for(i=1;iif(m%i==0)printf("%d",i);printf("\n");}}return0;}5-10#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}5-11#includeintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹时%f米\n",hn);return0;}5-12#includeintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}5-16#includeintmain(){inti,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");}return0;}5-17#include<
if(m%i==0)printf("%d",i);
5-10
inti,n=20;
doublea=2,b=1,s=0,t;
for(i=1;i<=n;i++)
s=s+a/b;
t=a,
a=a+b,
printf("sum=%16.10f\n",s);
5-11
doublesn=100,hn=sn/2;
for(n=2;n<=10;n++)
sn=sn+2*hn;
hn=hn/2;
printf("第10次落地时共经过%f米\n",sn);
printf("第10次反弹时%f米\n",hn);
5-12
intday,x1,x2;
day=9;
x2=1;
while(day>0)
x1=(x2+1)*2;
x2=x1;
day--;
printf("total=%d\n",x1);
5-16
inti,j,k;
for(i=0;i<=3;i++)
{for(j=0;j<=2-i;j++)
printf("");
for(k=0;k<=2*i;k++)
printf("*");
for(i=0;i<=2;i++)
for(j=0;j<=i;j++)
for(k=0;k<=4-2*i;k++)
5-17
#include<
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2