《C程序设计(第三版)》习题(编程题)解答(2)

2020-02-21 15:47

else if (num>999) place=4; else if (num>99) place=3; else if (num>9) place=2;

else place=1;

printf(\位数:%d\\n\ 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)

{case 5:printf(\ printf(\反序数字为:\

printf(\ break;

case 4:printf(\ printf(\反序数字为:\ printf(\ break;

case 3:printf(\ printf(\反序数字为:\

printf(\ break;

case 2:printf(\ printf(\反序数字为:\

printf(\ break;

case 1:printf(\ printf(\反序数字为:\ printf(\ break; } } 5.8

(1) #include void main()

{

long i;

double bonus,bon1,bon2,bon4,bon6,bon10;

6

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(\ if (i<=100000) bonus=i*0.1; else if (i<=200000)

bonus=bon1+(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; else

bonus=bon10+(i-1000000)*0.01; printf(\奖金是: .2f\\n\ }

(2) #include void main() {

long i;

double 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; printf(\请输入利润i:\ scanf(\

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:

7

case 7:

case 8:

case 9: bonus=bon6+(i-600000)*0.015;break; case 10: bonus=bon10+(i-1000000)*0.01; }

printf(\奖金是 .2f\\n\ } 5.9

#include

void main() {int t,a,b,c,d;

printf(\请输入四个数:\

scanf(\ printf(\ 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 \\n\ ,a,b,c,d); } 5.10

#include void main() {

int h=10;

float x1=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(\

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; /*判断该点是否在塔外*/

8

printf(\该点高度为 %d\\n\ } 6.1

#include void main() {

int p,r,n,m,temp;

printf(\请输入两个正整数n,m:\ scanf(\ if (n

p=n*m; while(m!=0) { r=n%m; n=m;

m=r; }

printf(\它们的最大公约数为:%d\\n\ printf(\它们的最小公约数为:%d\\n\ }

6.2

#include void main() {

char c;

int letters=0,space=0,digit=0,other=0; printf(\请输入一行字符:\\n\ 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++;

9

}

printf(\字母数:%d\\n空格数:%d\\n数字数:%d\\n其它字符数:%d\\n\ } 6.3

#include void main()

{

int a,n,i=1,sn=0,tn=0; printf(\ scanf(\ while (i<=n)

{

tn=tn+a; /*赋值后的tn为i个 a组成数的值*/ sn=sn+tn; /*赋值后的sn为多项式前i项之和*/ a=a*10;

++i; }

printf(\ }

6.4

#include void main()

{double s=0,t=1; int n;

for (n=1;n<=20;n++) {

t=t*n; s=s+t; }

printf(\} 6.5

#include void main() {

int n1=100,n2=50,n3=10;

double k,s1=0,s2=0,s3=0;

for (k=1;k<=n1;k++) /*计算1到100的和*/ {s1=s1+k;}

for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/

10


《C程序设计(第三版)》习题(编程题)解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于进一步加强建筑工地职工夜校管理的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: