首页 > 知识与问答 > C语言程序设计_谭浩强_第三版_课后习题答案

C语言程序设计_谭浩强_第三版_课后习题答案

来源:互联网转载 时间:2025-06-01 05:21:32 浏览量:

C语言程序设计_谭浩强_第三版_课后习题答案本文简介:1.5请参照本章例题,编写一个C程序,输出以下信息:*************************VeryGood!*************************解:mian(){printf(“**************************”);printf(“\n”);printf

C语言程序设计_谭浩强_第三版_课后习题答案本文内容:

1.5请参照本章例题,编写一个C程序,输出以下信息:*************************

Very

Good!*************************

解:

mian()

{printf(“**************************”);

printf(“\n”);

printf(“Very

Good!\n”);

printf(“\n”);

printf(“**************************”);

}

1.6

编写一个程序,输入a、b、c三个值,输出其中最大值。

解:

mian()

{int

a,b,c,max;

printf(“请输入三个数a,b,c:\n”);

scanf(“%d,%d,%d”,max=a;

if(maxb)?a:b;

max=(temp>c)?temp:c;

printf(“3个整数的最大数是%d\n”,max);

}

5.5

有一函数:

写一程序,输入x值,输出y值。

解:

#include

main()

{int

x,y;

printf(“输入x:“);

scanf(“%d“,if(x100||(score9999)

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\n“,place);

ten_thousand=num/10000;

thousand=num/1000%10;

hundred=num/100%10;

ten=num%100/10;

inp=num%10;

switch(place)

{

case

5:

printf(“%d,%d,%d,%d,%d“,ten_thousand,thousand,hundred,ten,inp);

printf(“\n反序数字为;“);

printf(“%d%d%d%d%d\n“,inp,ten,hundred,thousand,ten_thousand);

break;

case

4:

printf(“%d,%d,%d,%d“,thousand,hundred,ten,inp);

printf(“\n反序数字为:“);

printf(“%d%d%d%d\n“,inp,ten,hundred,thousand);

break;

case

3:

printf(“%d,%d,%d“,hundred,ten,inp);

printf(“\n反序数字为:“);

printf(“%d%d%d\n“,inp,ten,hundred);

break;

case

2:

printf(“%d,%d“,ten,inp);

printf(“\n反序数字为:“);

printf(“%d%d\n“,inp,ten);

break;

case

1:

printf(“%d“,inp);

printf(“\n反序数字为:“);

printf(“%d\n“,inp);

break;

}

}

5.8

企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提成10%

;利润高于10万元,低于20万元(10000010)

c=10;

switch(c)

{

case

0:

bonus=1*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(“奖金是%10.2f“,bonus);

}

5.9

输入4个整数,要求按由大到小的顺序输出。

解:此题采用依次比较的方法排出其大小顺序。在学习了循环和数组以后,可以有更多的排序方法。

#include

main()

{

int

t,a,b,c,d;

printf(“请输入4个整数:“);

scanf(“%d,%d,%d,%d“,printf(“\n

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=a;

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);

}

5.10

有4个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1。这4个塔的高度分别为10m。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

程序如下:

#include

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(“%f,%f“,d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);

d2=(x-x2)*(x-x2)+(y+y2)*(y+y2);

d3=(x+x3)*(x+x3)+(y-y3)*(y-y3);

d4=(x+x4)*(x-x4)*(y+y4)*(y+y4);

if(d1>1

printf(“该点高度为%d\n“,h);

}

第六章

第六章

循环控制

6.1输入两个正整数m和n,求其最大公约数和最小公倍数。

main()

{long

m,n,i=1,j,s;

scanf(“%ld,%ld“,for(;i=65

else

if(c==32)

k++;

else

l++;}

printf(“i=%d,j=%d,k=%d,l=%d\n“,i,j,k,l);

}

6.3求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。

#include“math.h“main()

{int

n,sum=0,i=1,s=2;

scanf(“%d“,while(i1;i--)

{

if((k1%i==0)

flag=1;

break;

}

else

flag=0;

}

if(flag==0)

return(0);

}

int

min_mul(int

k1,int

k2)

{

int

max(int,int);

int

i,k;

k=max(k1,k2);

for(i=k;;i++)

{

if((i%k1==0)

break;

}

}

}

int

min(int

k1,int

k2)

{

int

min;

min=k1;

if(k1>k2)

min=k2;

return(min);

}

© 转乾企业管理-攻考网 版权所有 | 黔ICP备2023009682号

免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:303555158#QQ.COM (把#换成@)