谭浩强C语言程序设计课后习题答案所有的程序都有_第1页
谭浩强C语言程序设计课后习题答案所有的程序都有_第2页
谭浩强C语言程序设计课后习题答案所有的程序都有_第3页
谭浩强C语言程序设计课后习题答案所有的程序都有_第4页
谭浩强C语言程序设计课后习题答案所有的程序都有_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章)\n",c1,c1);

3.4printf("c2='%c'or%d(ASCII

main())\n",c2,c2);

{inta,b,c;}

longintu,n;

3.5

floatx,y,z;

57

charc1,c2;

57

a=3;b=4;c=5;

67.856400,-789.123962

x=1.2;y=2.4;z=-3.6;

67.856400,-789.123962

u=51274;n=128765;

67.86

c1='a';c2='b';

-789.12,67.856400,-789.12

printf("\n");

3962,67.856400,-789.1239

printf("a=%2db=%2dc=

62

%2d\n",a,b,c);

6.785640e+001,-7.89e+00

printf("x=%8.6f,y=%8.6f,z=

2

%9.6f\n",x,y,z);

A,65,101,41

printf("x+y=%5.2fy+z=%5

1234567,4553207,d687

.2fz+x=%5.2f\n",x+y,y+z,z

65535,177777,

+x);

COMPUTER,COM

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

3.6

u,n);

a=3b=7/

printf("c1='%c'or%d(ASCII

x=8.5y=71.82/printf("sq=%6.2f\n",sq);

c1=Ac2=a/printf("vq=%6.2f\n",sv);

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

3.7

)

1020Aa1.5-3.75

+1.4,67.8/3.9

(空3)10(空3)20Aa1.5(空main()

1)-3.75(空1)(随意输入一个{floatc,f;

数),67.8回车scanf("%f',&f);

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

3.8

printfC'c=%5,2f\n",c);

main()

)

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

pi=3.1415926;3.10

printf("inputr,h\nH);#include"stdio.h"

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

l=2*pi*r;{charc1,c2;

s=r*r*pi;scanf(”%c,%c",&c1,&c2);

sq=4*pi*r*r;putchar(d);

sv=4.0/3.0*pi*r*r*r;putchar(c2);

sz=pi*r*r*h;printf("\n");

printf("l=%6.2f\n",l);printf("%c%c\n",c1,c2);

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

第四章{inta,b,c,temp,max;

4.3scanf("%d,%d,%d",&a,&b,

(1)0(2)1(3)1(4)0(5)1&c);

temp=(a>b)?a:b;

4.4

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

main()

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

{inta,b,c;

}

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

&c);

4.5

if(a<b)

main()

if(b<c)

{intx,y;

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

scanf("%d〃,&x);

else

if(x<l)y=x;

printf("max=%d\rT,b

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

);

elsey=3*xTl;

elseif(a<c)

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

printf("max=%d\n〃,c

)

);

else4.6

printf(〃inax=%d\n〃,amain()

);{intscore,temp,logic;

}chargrade;

main()logical;

while(logic)case2:

{scanf("%d〃,&score);case1:

if(score>=0&&score<=case0:grade='E';

100)logic=0;}

)printf〃score=%d,grade13%

if(score==100)c〃,score,grade);

temp=9;}

else

4.7

temp二(score-score%10)

main()

/10;

{longintnum;

switch(temp)

int

{case

indiv,ten,hundred,thousa

9:grade=,A,;break;

nd,tenthousand,place;

case

scanf(〃%ld〃,&num);

8:grade='B';break;

if(num>9999)place=5;

case

elseif(num>999)place=4;

7:grade='C';break;

elseif(num>99)place=3;

case

elseif(num>9)place=2;

6:grade='D';break;

elseplace=l;

case5:

printf("place=%d\n〃,pla

case4:

ce);

case3:

ten_thousand=num/10000;

thousand33(num-ten_thous4:printfC%d,%d,%d,%d\n〃

and*10000)/1000;,thousand,hundred,ten,in

hundred=(num-ten_thousadiv);

nd*10000-thousand*1000)/printf("%d,%d

100;,%d,%d\n〃,indiv,ten,hund

ten=(num-ten_thousand*lred,thousand);

0000-thousand*1000-hundrbreak;

ed*100)/10;case

indiv=num-ten_thousand*3:printf("%d,%d,%d\n,\hu

10000-thousand*1000-hundndred,ten,indiv);

red*100-ten*10;printf(〃%d,%d

switch(place),%d\n〃,indiv,ten,hundred

{case);

5:printfC%d,%d,%d,%d,%dbreak;

\n〃,ten_thousand,thousancase

d,hundred,ten,indiv);2:printf("%d,%d\n,z,ten,i

printf(〃/d,%dndiv);

,%d,%d,%d\n〃,indiv,ten,hprintf("%d,%d

undred,thousand,tenthou\n〃,indiv,ten);

sand);break;

break;case

,,,,

case1:printf(%d\n,indiv);

printf(〃/d\n"200000)*0.05;

,indiv);else

}if(i<=6e5)bonus=bon4+(i-

}400000)*0.03;

else

4.8

if(i<=le6)bonus=bon6+(i-

main()

600000)*0.015;

{longi;

else

float

bonus=bonl0+(i-1000000)*

bonus,bonl,bon2,bon4,bon

0.01;

6,bonlO;

printf("bonus=%10.2f〃,b

bonl=100000*0.1;

onus);

bon2=bonl+100000*0.075;

}

bon4=bon2+200000*0.05;

main()

bon6=bon4+200000*0.03;

{longi;

bonl0=bon6+400000*0.015;

float

scanf&i);

bonus,bonl,bon2,bon4,bon

if(i<=le5)bonus=i*0.1;

6,bonlO;

else

intbranch;

if(i<=2e5)bonus=bonl+(i-

bonl=100000*0.1;

100000)*0.075;

bon2=bonl+100000*0.075;

else

bon4=bon2+200000*0.05;

if(i<=4e5)bonus=bon2+(i-

bon6=bon4+200000*0.03;case

bonl0=bon6+400000*0.015;9:bonus=bon6+(i-600000)*

scanf(〃%ld〃,&i);0.015;break;

branch二i/100000;case

if(branch>10)branch=10;10:bonus=bonl0+(i-100000

switch(branch)0)*0.01;

{case)

0:bonus=i*0.1;break;printf(,,bonus=%10.2f〃,b

caseonus);

1:bonus=bonl+(i-100000)*)

0.075;break;

case2:4.9

casemain()

3:bonus=bon2+(i-200000)*{intt,a,b,c,d;

0.05;break;scanf(〃%d,%d,%d,%d〃,&a,

case4:&b,&c,&d);

caseif(a>b){t=a;a=b;b=t;}

5:bonus=bon4+(i-400000)*if(a>c){t=a;a=c;c=t;}

0.03;break;if(a>d){t=a;a=d;d=t;}

case6:if(b>c){t=b;b=c;c=t;}

case7if(b>d){t=b;b=d;d=t;}

case8:if(c>d){t=c;c=d;d=t;}

printfC%d%d%d%d\第五章循环控制

n”,a,b,c,d);5.1

}main()

{inta,b,numl,num2,temp;

4.10

scanf("%d,%d〃,&numl,&nu

main()

m2);

{inth=10;

if(numl<num2){temp=numl

float

;numl=num2;num2=temp;}

x,y,x0=2,y0=2,dl,d2,d3,d

a=numl;b=num2;

4;

while(b!=0)

scanf%f〃,&x,&y);

{temp=a%b;

dl=(x-x0)*(x-x0)+(y-yO)

a=b;

*(y-yO);

b=temp;}

d2=(x-x0)*(x-xO)+(y+yO)

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

*(y+yO);

printf(〃%d\n〃,numl*num2

d3=(x+xO)*(x+xO)+(y-yO)

/a);

*(y-yO);

)

d4=(x+xO)*(x+xO)+(y+yO)

*(y+yO);5.2

if(dl>l&&d2>l&&d3>l&&d4ttinclude^stdio.h〃

>1)h=0;main()

printf("h=%d〃,h);{charc;

int

letters:。,space=O,digit二scanf(〃%d,%d",&a,&n);

0,other=0;while(count<=n)

while((c=getchar())!=’\{tn+=a;

n)sn+=tn;

{if(c>=,a&&c<=,z\\ca*=10;

>='A'&&c<='Z')letters++;++count;

elseif(c==,}

,)space++;printf(〃a+aa+aaa+…二%d

else\n〃,sn);

if(c>='O'&&c<=,9')digit+)

+;

5.4

elseother++;

main()

}

{floatn,s=0,t=l;

printf("letters=%d\nspa

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

ce=%d\ndigit=%d\nother=%

{t*=n;

d\n〃,letters,space,digit

s+=t;

,other);

}

}

printf(〃s=%e\n”,s);

5.3)

main()

5.5

{int

main()

a,n,count=l,sn=0,tn=0;

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

floatk;

floatsl=0,s2=0,s3=0;

5.7

for(k=l;k<=Nl;k++)sl+=k;

#defineM1000

for(k=l;k<=N2;k++)s2+=k

main()

*k;

{int

for(k=l;k<=N3;k++)s3+=l

k0,kl,k2,k3,k4,k5,k6,k7,

/k;

k8,k9;

printf(,,s=%8.2f\n〃,sl+s

inti,j,n,s;

2+s3);

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

)

{n=0;

5.6s=j;

main()for(i=l;i<j;i++)

{inti,j,k,n;{if((j%i)==O)

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

{i=n/100;s=s-i;

j=n/10-i*10;switch(n)

k=n%10;{case

if(i*100+j*10+k==i*i1:k0=i;break;

*i+j*j*j+k*k*k)case

printf("n=%d\n"2:kl=i;break;

,n);case

3:k2=i;break;%d,%d〃,k0,kl);

caseif(n>2)printf(〃

4:k3=i;break;,%d〃,k2);

caseif(n>3)printf(〃

5:k4=i;break;,%d〃,k3);

caseif(n>4)printf(〃

6:k5=i;break;,%d〃,k4);

caseif(n>5)printf(〃

7:k6=i;break;,%d〃,k5);

caseif(n>6)printf(〃

8:k7=i;break;,%d〃,k6);

caseif(n>7)printf(〃

9:k8=i;break;,%d〃,k7);

caseif(n>8)printf(〃

10:k9=i;break;,刎〃,k8);

if(n>9)printf("

,%d\n”,k9);

if(s==0)

{printf(〃j=%d\n〃

,j);

main()

if(n>l)printf(〃

{staticintk[10];

inti,j,n,s;5.8

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

{n=-l;{intn,t,number=20;

s=j;floata=2;b=l;s=0;

for(i=l;i<j;i++)for(n=l;n<=number;n++)

{if((j%i)==O){s=s+a/b;

{n++;t=a,a=a+b,b=t;

s=s-i;)

k[n]=i;printf(,,s=%9.6f\n〃,s);

})

}

5.9

if(s==0)

main()

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

{floatsn=100.0,hn=sn/2;

);

intn;

for(i=0;i<n;i++)

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

printf(〃%d,〃,k[

{sn=sn+2*hn;

i]);

hn=hn/2;

printf("%d\n〃,k[n

]);,,,,

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

printf(〃hn=%f\rT,hn);

5.10

main()while(fabs(xnO-xnl)>=le

{intday,xl,x2;-5);

day=9;printf(〃a=%5.2f\n,xnl=%

x2=l;8.2f\n〃,a,xnl);

while(day>0)}

{xl=(x2+l)*2;

5.12

x2=xl;

ttinclude^math.h〃

day一;

main()

}

{floatx,xO,f,fl;

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

x=l.5;

}

do

5.11{x0=x;

ttinclude^math.h〃f=((2*x0-4)*x0+3)*x0

main()-6;

{floata,xnO,xnl;fl=(6*x0-8)*x0+3;

scanf&a);x=xO-f/f1;

xn0=a/2;}

xnl=(xnO+a/xnO)/2;while(fabs(x-x0)>=le-5);

doprintf(〃x=%6.2f\n〃,x);

{xn0=xnl;

xnl=(xnO+a/xnO)/2;

5.13else

ttinclude^math.h〃{xl=xO;

main()fxl=fxO;

{float)

xO,xl,x2,fxO,fxl,fx2;}

dowhile(fabs(fxO)>=le-5);

{scanf("%f,%fz,,&xl,&xprintf(〃x0=%6.2f\n〃,xO);

2);}

fxl=xl*((2*xl-4)*xl+

5.14

3)-6;

main()

fx2=x2*((2*x2-4)*x2+

{inti,j,k;

3)-61

for(i=0;i<=3;i++)

}

{for(j=0;j<=2-i;j++)

while(fxl*fx2>0);

printf〃);

do

for(k=0;k〈=2*i;k++)

{x0=(xl+x2)/2;

printf('*〃);

fxO=xO*((2*x0-4)*x0+

printf(〃\n〃);

3)-6;

}

if((fx0*fxl)<0)

for(i=0;i<=2;i++)

{x2=x0;

{for(j=0;j<=i;j++)

fx2=fx0;

printf("");

for(k=0;k<=4-2*i;k++)

printf(〃*〃);第六章数组

printf("\n");6.1

}ttinclude<math.h>

}ttdefineN101

main()

5.15

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

main()

for

{chari,j,k;

(i=2;i〈N;i++)a[i]=i;

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

for(i=2;i<sqrt(N);i++)

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

for(j=i+l;j<N;j++)

{if(a[i]!=0&&

for(k='x';k<=,z,;

a[j]!=0)

k++)

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

{if(i!=k&&j!=k)

a[j]=0;

{if(i!='x'&&k

}

!='x'&&k!二'z')

printf(〃\n〃);

printf(〃\n

for(i=2,line=0;i<N;i++)

a一%c\tb-%c\tc—%c\n”,i

{if(a[i]!=0)

,j,k);

,,,,

{printf(%5d,a

[i]);

line++;}

if(line==10)

{printf("\n〃);

line=O;}6.3

}main()

}{floata[3][3],sum;

inti,j;

6.2

for(i=0;i<3;i++)

ttdefineN10

for(j=0;j<3;j++)

main()

{scanf&sum);

{inti,j,min,temp,a[N];

a[i][j]=sum;

for(i=0;i<N;i++)

)

scanf&a[i]);

for(i=0;i<3;i++)

for(i=0;i<N-l;i++)

sum=sum+a[i][i];

{min=i;

printf(〃sum=/f〃,sum);

for(j=i+l;j<N;j++)

}

if(a[min]>a[j])min

二j;6.4

temp=a[i];main()

a[i]=a[inin];{int

a[min]=temp;=6,9,13,16,19,

}28,40,100};

for(i=0;i<N;i++)inttempi,temp2,number,

printf("%5d〃,a[i]);end,i,j;

scanf("%d”,&number);

end=a[9];6.5

if(number>end)ftdefineN5

a[10]=number;main()

else{int

{for(i=0;i<10;i++)a[N]={8,6,5,4,1},i,temp;

{if(a[i]>number)for(i=0;i<N/2;i++)

{templ=a[i];{temp=a[i];

a[i]=number;a[i]=a[N-i-l];

for(j=i+l;j<ll;a[N-i-l]=temp;

j++))

{temp2=a[j];for(i=0;i<N;i++)

a[j]=templ;printf(〃%4d〃,a[i]);

templ=temp2;}

)

6.6

break;

ftdefineN11

main()

(inti,j,a[N][N];

for(i=l;i<N;i++)

for(i=0;i<ll;i++)

{a[i][i]=l;

printf("%6d",a[i]);

a[i][1]=1;

for(i=3;i<N;i++)

for(j=2;j<i;j++)a[i][j]=0;

a[i][j]=a[i-l][j-1]j=n/2+l;

+a[i-l][j];a[l][j]=l;

for(i=l;i<N;i++)for(k=2;k<=n*n;k++)

{for(j=l;j<=i;j++)

printf("%6d〃,a[i][j=j+l;

j]);if((i<l)&&(j>n))

printf(〃\n〃);{i=i+2;

j=j-l;

}

else

6.7

{if(i<l)i=n;

main()

if(j>n)j=l;

{int

}

a[16][16],i,j,k,p,m,n;

if(a[i][j]==O)aEi][j

P=1;

]=k;

while(p==l)

else

{scanf("%d〃,&n);

{i=i+2;

if((n!=0)&&(n<=15)&&

j=j-l;

(n%2!=0))p=0;

a[i][j]=k;

)

for(i=l;i<=n;i++)

for(j=l;j<=n;j++)

for(i=l;i<=n;i++)for(j=0;j<m;j++)

{for(j=l;j<=n;j++)if(max<a[i][j])

printf(〃/3d”,a[i][{max=a[i][j];

j]);maxj=j;

printf(〃\n");}

}for(k=0,flagl=l;k<n&

}&flagl;k++)

if(max>a[k][maxj])

6.8

flagl=0;

ttdefineN10

if(flagl)

ttdefineM10

{printf(,,\na[%d][

main()

%d]=%d\n,,i,maxj,max);

{intJ

flag2=l;

i,j,k,m,n,flagl,flag2,a[

}

N][M],max,maxi,maxj;

)

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

if(!flag2)printf(〃N0T〃);

for(i=0;i<n;i++)

)

for(j=0;j<m;j++)

scanf("%d〃,&a[i][j]6.9

);#include<stdio.h>

flag2=0;#defineN15

for(i=0;i<n;i++)main()

{max=a[i][0];{int

i,j,number,top,bott,min,

loca,a[N],flag;else

charc;if(number<a[min])

for(i=0;i<=N;i++)bott=min-l;

scanf(〃%d",&a[i]);else

flag=l;top=min+l;

while(flag)}

{scanf(〃%d”,&number);if(loca==0|loca==-

loca=0;1)

top=0;printf(,z%dnotin

bott=N-l;table\n〃,number);

if((number<a[0])||(nprintf(^continueY/N

umber>a[N-l]))ory/n\n,,);

loca=-l;c=getchar();

while((loca==0)&&(toif(c==,N,||c==,n)f

p<=bott))lag=0;

{min=(bott+top)/2;}

if(number;二a[min]))

{loca=min;

6.10

printf("number

main()

=%d,loca=%d\n〃,number,lo

{int

ca+1);

i,j,uppn,lown,dign,span,

othn;else

chartext[3][80];othn++;

uppn=lown=dign=span=oth}

n=0;}

for(i=0;i<3;i++)for(i=0;i<3;i++)

,,,,

{gets(text[i]);printf(%s\nJtext[i]

for(j=0;j<80&&text[i);

][j]!='\0';j++)printf(〃uppn=%d\n〃,uppn

{if(text[i][j]>=,A);

=,,,,,

'&&text[i][j]<Z')printf(lown=%d\n,lown

uppn++;);

elseprintf(,,dign=%d\n,\dign

if(text[i][j]>=,a&&text);

[i]["zDprintf(〃span=%d\n〃,span

lown++;);

elseprintf(〃othn=%d\n〃,othn

if(text[i][j]>='O'&&text);

[i][39,))

dign++;

6.11

else

main()

if(text[i][j]==')

{staticchar

span++;

a[5]={,

tran[i]=26+64-ch[i

inti,j,k;1+1+64;

charspace='';else

for(i=0;i<=5;i++)if((ch[i]>=,a)&&(ch[i]<

{printf(〃\n");='z[)

for(j=l;j<=3*i;j++)tran[i]=26+96-ch[i

printfspace1+1+96;

);else

for(k=0;k<=5;k++)tran[i]=ch[i];

printf("%3c〃,a[k]);i++;

})

}n=i;

for(i=0;i<n;i++)

6.12

putchar(tran[i]);

#include<stdio.h>

}

main()

{inti,n;6.13

charch[80],tran[80];main()

gets(ch);{charsi[80],s2[40];

i=0;inti=0,j=0;

while(ch[i]!=,\0,)scanf(〃%s〃,si);

{if((ch[i]>=,A')&&(chscanfs2);

[i]<='Z'))while(si[i]!='\0')i++;

while(s2[j]!='\0')si[i+6.15

+]=s2[j++];ftinclude^stdio.h〃

sl[i]-\05;main()

printf(,,s=%s\n,/,si);{charfrom[80],to[80];;

}inti;

scanf(〃%s〃,from);

6.14

for(i=0;i<=strlen(from)

#include<stdio.h>

;i++)

main()

to[i]=from[i];

{inti,resu;

printfto);

charsi[100],s2[100];

)

gets(sl);

gets(s2);第七章

i=0;7.1

wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论