谭浩强C程序设计第三版习题答案全.docx

上传人:b****2 文档编号:18461841 上传时间:2023-08-18 格式:DOCX 页数:84 大小:29.06KB
下载 相关 举报
谭浩强C程序设计第三版习题答案全.docx_第1页
第1页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第2页
第2页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第3页
第3页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第4页
第4页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第5页
第5页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第6页
第6页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第7页
第7页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第8页
第8页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第9页
第9页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第10页
第10页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第11页
第11页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第12页
第12页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第13页
第13页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第14页
第14页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第15页
第15页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第16页
第16页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第17页
第17页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第18页
第18页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第19页
第19页 / 共84页
谭浩强C程序设计第三版习题答案全.docx_第20页
第20页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

谭浩强C程序设计第三版习题答案全.docx

《谭浩强C程序设计第三版习题答案全.docx》由会员分享,可在线阅读,更多相关《谭浩强C程序设计第三版习题答案全.docx(84页珍藏版)》请在冰点文库上搜索。

谭浩强C程序设计第三版习题答案全.docx

谭浩强C程序设计第三版习题答案全

谭浩强《C程序设计》第三版习题答案(全)

第一章

1.5

#include

voidmain()

{

printf("*********\nVerygood!

\n*********\n");

}

1.6

(法一)

#include

main()

{

inta,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

max=(a>b)?

a:

b;

max=(max>c)?

max:

c;

printf("max=%d\n",max);

}

(法二)

main()

{

inta,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

if(a>b&&a>c)

max=a;

elseif(b>c)

max=b;

else

max=c;

printf("max=%d\n",max);

}

(法三)

#include

voidmain()

{

intmax(intx,inty,intz);

inta,b,c,d;

scanf("%d,%d,%d",&a,&b,&c);

d=max(a,b,c);

printf("max=%d\n",d);

}

intmax(intx,inty,intz)

{

intA,B;

if(x>y)A=x;

elseA=y;

if(z>A)B=z;

elseB=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)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)16

3.6

aabb(8)cc(8)abc

(7)AN

3.7

main()

{charc1='C',c2='h',c3='i',c4='n',c5='a';

c1+=4,c2+=4,c3+=4,c4+=4,c5+=4;

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

3.8

main()

{intc1,c2;

c1=97;c2=98;

printf("%c%c",c1,c2);

}

3.9

(1)=2.5

(2)=3.5

3.10

9,11,9,10

3.12

(1)24

(2)10(3)60(4)0(5)0(6)0

第四章

4.4

main()

{inta,b,c;

longintu,n;

floatx,y,z;

charc1,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=%2db=%2dc=%2d\n",a,b,c);

printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);

printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);

printf("u=%6ldn=%9ld\n",u,n);

printf("c1='%c'or%d(ASCII)\n",c1,c1);

printf("c2='%c'or%d(ASCII)\n",c2,c2);

}

4.5

57

57

67.856400,-789.123962

67.856400,-789.123962

67.86-789.12,67.856400,-789.123962,67.856400,-789.123962

6.785640e+001,-7.89e+002

A,65,101,41

1234567,4553207,d687

65535,177777,ffff,-1

COMPUTER,COM

4.6

a=3b=7/

x=8.5y=71.82/

c1=Ac2=a/

4.7

1020Aa1.5-3.75+1.4,67.8/

(空3)10(空3)20Aa1.5(空1)-3.75(空1)(随意输入一个数),67.8回车

4.8

main()

{floatpi,h,r,l,s,sq,sv,sz;

pi=3.1415926;

printf("inputr,h\n");

scanf("%f,%f",&r,&h);

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.2f\n",l);

printf("s=%6.2f\n",s);

printf("sq=%6.2f\n",sq);

printf("vq=%6.2f\n",sv);

printf("vz=%6.2f\n",sz);

}

4.9

main()

{floatc,f;

scanf("%f",&f);

c=(5.0/9.0)*(f-32);

printf("c=%5.2f\n",c);

}

4.10

#include"stdio.h"

main()

{charc1,c2;

scanf("%c,%c",&c1,&c2);

putchar(c1);

putchar(c2);

printf("\n");

printf("%c%c\n",c1,c2);

}

第五章

5.3

(1)0

(2)1(3)1(4)0(5)1

5.4

main()

{inta,b,c;

scanf("%d,%d,%d",&a,&b,&c);

if(a

if(b

printf("max=%d\n",c);

else

printf("max=%d\n",b);

elseif(a

printf("max=%d\n",c);

else

printf("max=%d\n",a);

}

main()

{inta,b,c,temp,max;

scanf("%d,%d,%d",&a,&b,&c);

temp=(a>b)?

a:

b;

max=(c>temp)?

c:

temp;

printf("max=%d",max);

}

5.5

main()

{intx,y;

scanf("%d",&x);

if(x<1)y=x;

elseif(x<10)y=2*x-1;

elsey=3*x-11;

printf("y=%d",y);

}

5.6

main()

{intscore,temp,logic;

chargrade;

logic=1;

while(logic)

{scanf("%d",&score);

if(score>=0&&score<=100)logic=0;

}

if(score==100)

temp=9;

else

temp=(score-score%10)/10;

switch(temp)

{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"score=%d,grade=%c",score,grade);

}

5.7

main()

{longintnum;

intindiv,ten,hundred,thousand,ten_thousand,place;

scanf("%ld",&num);

if(num>9999)place=5;

elseif(num>999)place=4;

elseif(num>99)place=3;

elseif(num>9)place=2;

elseplace=1;

printf("place=%d\n",place);

ten_thousand=num/10000;

thousand=(num-ten_thousand*10000)/1000;

hundred=(num-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)

{case5:

printf("%d,%d,%d,%d,%d\n",ten_thousand,thousand,hundred,ten,indiv);

printf("%d,%d,%d,%d,%d\n",indiv,ten,hundred,thousand,ten_thousand);

break;

case4:

printf("%d,%d,%d,%d\n",thousand,hundred,ten,indiv);

printf("%d,%d,%d,%d\n",indiv,ten,hundred,thousand);

break;

case3:

printf("%d,%d,%d\n",hundred,ten,indiv);

printf("%d,%d,%d\n",indiv,ten,hundred);

break;

case2:

printf("%d,%d\n",ten,indiv);

printf("%d,%d\n",indiv,ten);

break;

case1:

printf("%d\n",indiv);

printf("%d\n",indiv);

}

}

5.8

main()

{longi;

floatbonus,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",&i);

if(i<=1e5)bonus=i*0.1;

elseif(i<=2e5)bonus=bon1+(i-100000)*0.075;

elseif(i<=4e5)bonus=bon2+(i-200000)*0.05;

elseif(i<=6e5)bonus=bon4+(i-400000)*0.03;

elseif(i<=1e6)bonus=bon6+(i-600000)*0.015;

elsebonus=bon10+(i-1000000)*0.01;

printf("bonus=%10.2f",bonus);

}

main()

{longi;

floatbonus,bon1,bon2,bon4,bon6,bon10;

intbranch;

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",&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;

}

printf("bonus=%10.2f",bonus);

}

4.9

main()

{intt,a,b,c,d;

scanf("%d,%d,%d,%d",&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("%d%d%d%d\n",a,b,c,d);

}

5.10

main()

{inth=10;

floatx,y,x0=2,y0=2,d1,d2,d3,d4;

scanf("%f,%f",&x,&y);

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(d1>1&&d2>1&&d3>1&&d4>1)h=0;

printf("h=%d",h);

}

第六章

6.1

main()

{inta,b,num1,num2,temp;

scanf("%d,%d",&num1,&num2);

if(num1

a=num1;b=num2;

while(b!

=0)

{temp=a%b;

a=b;

b=temp;}

printf("%d\n",a);

printf("%d\n",num1*num2/a);

}

6.2

#include"stdio.h"

main()

{charc;

intletter=0,space=0,digit=0,other=0;

while((c=getchar())!

='\n')

{if(c>='a'&&c<='z'||c>='A'&&c<='Z')letter++;

elseif(c=='')space++;

elseif(c>='0'&&c<='9')digit++;

elseother++;

}

printf("letter=%d\nspace=%d\ndigit=%d\nother=%d\n",letter,space,digit,other);

}

6.3

main()

{inta,n,count=1,sn=0,tn=0;

scanf("%d,%d",&a,&n);

while(count<=n)

{tn+=a;

sn+=tn;

a*=10;

++count;

}

printf("a+aa+aaa+...=%d\n",sn);

}

6.4

main()

{floatn,s=0,t=1;

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

{t*=n;

s+=t;

}

printf("s=%e\n",s);

}

6.5

main()

{intN1=100,N2=50,N3=10;

floatk;

floats1=0,s2=0,s3=0;

for(k=1;k<=N1;k++)s1+=k;

for(k=1;k<=N2;k++)s2+=k*k;

for(k=1;k<=N3;k++)s3+=1/k;

printf("s=%8.2f\n",s1+s2+s3);

}

6.6

main()

{inti,j,k,n;

for(n=100;n<1000;n++)

{i=n/100;

j=n/10-i*10;

k=n%10;

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

printf("n=%d\n",n);

}

}

6.7

#defineM1000

main()

{intk0,k1,k2,k3,k4,k5,k6,k7,k8,k9;

inti,j,n,s;

for(j=2;j<=M;j++)

{n=0;

s=j;

for(i=1;i

{if((j%i)==0)

{n++;

s=s-i;

switch(n)

{case1:

k0=i;break;

case2:

k1=i;break;

case3:

k2=i;break;

case4:

k3=i;break;

case5:

k4=i;break;

case6:

k5=i;break;

case7:

k6=i;break;

case8:

k7=i;break;

case9:

k8=i;break;

case10:

k9=i;break;

}

}

}

if(s==0)

{printf("j=%d\n",j);

if(n>1)printf("%d,%d",k0,k1);

if(n>2)printf(",%d",k2);

if(n>3)printf(",%d",k3);

if(n>4)printf(",%d",k4);

if(n>5)printf(",%d",k5);

if(n>6)printf(",%d",k6);

if(n>7)printf(",%d",k7);

if(n>8)printf(",%d",k8);

if(n>9)printf(",%d\n",k9);

}

}

}

main()

{staticintk[10];

inti,j,n,s;

for(j=2;j<=1000;j++)

{n=-1;

s=j;

for(i=1;i

{if((j%i)==0)

{n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{printf("j=%d\n",j);

for(i=0;i

printf("%d,",k[i]);

printf("%d\n",k[n]);

}

}

}

6.8

main()

{intn,t,number=20;

floata=2;b=1;s=0;

for(n=1;n<=number;n++)

{s=s+a/b;

t=a,a=a+b,b=t;

}

printf("s=%9.6f\n",s);

}

6.9

main()

{floatsn=100.0,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{sn=sn+2*hn;

hn=hn/2;

}

printf("sn=%f\n",sn);

printf("hn=%f\n",hn);

}

6.10

main()

{intday,x1,x2;

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2;

x2=x1;

day--;

}

printf("x1=%d\n",x1);

}

6.11

#include"math.h"

main()

{floata,xn0,xn1;

scanf("%f",&a);

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.2f\n,xn1=%8.2f\n",a,xn1);

}

6.12

#include"math.h"

main()

{floatx,x0,f,f1;

x=1.5;

do

{x0=x;

f=((2*x0-4)*x0+3)*x0-6;

f1=(6*x0-8)*x0+3;

x=x0-f/f1;

}

while(fabs(x-x0)>=1e-5);

printf("x=%6.2f\n",x);

}

6.13

#include"math.h"

main()

{floatx0,x1,x2,fx0,fx1,fx2;

do

{scanf("%f,%f",&x1,&x2);

fx1=x1*((2*x1-4)*x1+3)-6;

fx2=x2*((2*x2-4)*x2+3)-6;

}

while(fx1*fx2>0);

do

{x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6;

if((fx0*fx1)<0)

{x2=x0;

fx2=fx0;

}

else

{x1=x0;

fx1=fx0;

}

}

while(fabs(fx0)>=1e-5);

printf("x0=%6.2f\n",x0);

}

6.14

main()

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

}

}

6.15

main()

{chari,j,k;

for(i='x';i<='z';i++)

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'&&k!

='z')

printf("\na--%c\tb--%c\tc--%c\n",i,j,k);

}

}

}

}

第七章

7.1

#include

#defineN101

main()

{inti,j,line,a[N];

for(i=2;i

for(i=2;i

for(j=i+1;j

{if(a[i]!

=0&&a[j]!

=0)

if(a[j]%a[i]==0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2