C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx

上传人:b****6 文档编号:18059385 上传时间:2022-12-13 格式:DOCX 页数:125 大小:41.41KB
下载 相关 举报
C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx_第1页
第1页 / 共125页
C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx_第2页
第2页 / 共125页
C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx_第3页
第3页 / 共125页
C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx_第4页
第4页 / 共125页
C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx_第5页
第5页 / 共125页
点击查看更多>>
下载资源
资源描述

C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx

《C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx(125页珍藏版)》请在冰豆网上搜索。

C语言程序设计谭浩强第四版课后答案Word格式文档下载.docx

n=m;

m=temp;

p=n*m;

while(m!

=0)

r=n%m;

m=r;

它们的最大公约数为:

%d\n"

n);

它们的最小公约数为:

p/n);

5-4

charc;

intletters=0,space=0,digit=0,other=0;

请输入一行字符:

\n"

while((c=getchar())!

='

\n'

if(c>

a'

&

&

c<

z'

||c>

A'

Z'

letters++;

elseif(c=='

'

space++;

elseif(c>

0'

9'

digit++;

else

other++;

字母数:

%d\n空格数:

%d\n数字数:

%d\n其它字符数:

letters,space,digit,other);

5-5

inta,n,i=1,sn=0,tn=0;

a,n=:

%d,%d"

a,&

n);

while(i<

=n)

tn=tn+a;

/*赋值后的tn为i个a组成数的值*/

sn=sn+tn;

/*赋值后的sn为多项式前i项之和*/

a=a*10;

++i;

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;

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++)/*计算1到100的和*/

{s1=s1+k;

=n2;

k++)/*计算1到50各数的平方和*/

{s2=s2+k*k;

=n3;

k++)/*计算1到10的各倒数和*/

{s3=s3+1/k;

sum=%15.6f\n"

s1+s2+s3);

5-8

inti,j,k,n;

parcissusnumbersare"

for(n=100;

1000;

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

%d"

5-9-1

#defineM1000/*定义寻找范围*/

intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

inti,a,n,s;

for(a=2;

a<

=M;

a++)/*a是2-1000之间的整数,检查它是否完数*/

{n=0;

/*n用来累计a的因子的个数*/

s=a;

/*s用来存放尚未求出的因子之和,开始时等于a*/

for(i=1;

i<

a;

i++)/*检查i是否a的因子*/

if(a%i==0)/*如果i是a的因子*/

{n++;

/*n加1,表示新找到一个因子*/

s=s-i;

/*s减去已找到的因子,s的新值是尚未求出的因子之和*/

switch(n)/*将找到的因子赋给k1...k9,或k10*/

{case1:

k1=i;

break;

/*找出的笫1个因子赋给k1*/

case2:

k2=i;

/*找出的笫2个因子赋给k2*/

case3:

k3=i;

/*找出的笫3个因子赋给k3*/

case4:

k4=i;

/*找出的笫4个因子赋给k4*/

case5:

k5=i;

/*找出的笫5个因子赋给k5*/

case6:

k6=i;

/*找出的笫6个因子赋给k6*/

case7:

k7=i;

/*找出的笫7个因子赋给k7*/

case8:

k8=i;

/*找出的笫8个因子赋给k8*/

case9:

k9=i;

/*找出的笫9个因子赋给k9*/

case10:

k10=i;

/*找出的笫10个因子赋给k10*/

if(s==0)

%d,Itsfactorsare"

a);

if(n>

1)printf("

k1,k2);

/*n>

1表示a至少有2个因子*/

2)printf("

%d"

k3);

2表示至少有3个因子,故应再输出一个因子*/

3)printf("

k4);

3表示至少有4个因子,故应再输出一个因子*/

4)printf("

k5);

/*以下类似*/

5)printf("

k6);

6)printf("

k7);

7)printf("

k8);

8)printf("

k9);

9)printf("

k10);

5-9-2

{intm,s,i;

for(m=2;

m<

m++)

{s=0;

m;

i++)

if((m%i)==0)s=s+i;

if(s==m)

{printf("

%d,itsfactorsare"

m);

if(m%i==0)printf("

i);

5-10

inti,n=20;

doublea=2,b=1,s=0,t;

=n;

s=s+a/b;

t=a,

a=a+b,

b=t;

sum=%16.10f\n"

5-11

doublesn=100,hn=sn/2;

for(n=2;

=10;

sn=sn+2*hn;

/*第n次落地时共经过的米数*/

hn=hn/2;

/*第n次反跳高度*/

第10次落地时共经过%f米\n"

第10次反弹%f米\n"

hn);

5-12

intday,x1,x2;

day=9;

x2=1;

while(day>

0)

{x1=(x2+1)*2;

/*第1天的桃子数是第2天桃子数加1后的2倍.*/

x2=x1;

day--;

total=%d\n"

x1);

5-13

#include<

floata,x0,x1;

enterapositivenumber:

%f"

a);

x0=a/2;

x1=(x0+a/x0)/2;

do

{x0=x1;

}while(fabs(x0-x1)>

=1e-5);

Thesquarerootof%5.2fis%8.5f\n"

a,x1);

5-14

{doublex1,x0,f,f1;

x1=1.5;

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

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

x1=x0-f/f1;

}while(fabs(x1-x0)>

Therootofequationis%5.2f\n"

5-15

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

enterx1&

x2:

%f,%f"

x1,&

x2);

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

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

}while(fx1*fx2>

0);

{x0=(x1+x2)/2;

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

if((fx0*fx1)<

{x2=x0;

fx2=fx0;

{x1=x0;

fx1=fx0;

}while(fabs(fx0)>

x=%6.2f\n"

x0);

_

5-16

{inti,j,k;

for(i=0;

=3;

{for(j=0;

j<

=2-i;

j++)

"

for(k=0;

=2*i;

k++)

*"

=2;

=i;

=4-2*i;

5-17

chari,j,k;

/*是a的对手;

j是b的对手;

k是c的对手*/

for(i='

x'

;

for(j='

if(i!

=j)

for(k='

=k&

j!

=k)

k!

A--%c\nB--%c\nC--%c\n"

i,j,k);

第6章利用数组处理批量数据【第168页】

6-1

{inti,j,n,a[101];

=100;

a[i]=i;

a[1]=0;

for(i=2;

sqrt(100);

for(j=i+1;

{if(a[i]!

=0&

a[j]!

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

a[j]=0;

for(i=2,n=0;

{if(a[i]!

%5d"

a[i]);

n++;

if(n==10)

n=0;

6-2

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

enterdata:

a[%d]="

%d"

a[i]);

Theorginalnumbers:

=9;

{min=i;

if(a[min]>

a[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

\nThesortednumbers:

6-3

inta[3][3],sum=0;

inti,j;

3;

for(j=0;

%3d"

a[i][j]);

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

sum=%6d\n"

sum);

6-4

{inta[11]={1,4,6,9,13,16,19,28,40,100};

inttemp1,temp2,number,end,i,j;

arraya:

10;

insertdata:

number);

end=a[9];

if(number>

end)

a[10]=number;

{for(i=0;

{if(a[i]>

number)

{temp1=a[i];

a[i]=number;

11;

{temp2=a[j];

a[j]=temp1;

temp1=temp2;

Nowarraya:

6-5

#defineN5

{inta[N],i,temp;

enterarraya:

N;

%4d"

N/2;

i++)//循环的作用是将对称的元素的值互换

{temp=a[i];

a[i]=a[N-i-1];

a[N-i-1]=temp;

\nNow,arraya:

}

6-6

#defineN10

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

{a[i][i]=1;

a[i][0]=1;

for(j=1;

=i-1;

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

%6d"

a[i][j]);

6-7

{inta[15][15],i,j,k,p,n;

p=1;

while(p==1)

entern(n=1--15):

if((n!

=0)&

(n<

=15)&

(n%2!

=0))

p=0;

a[i][j]=0;

j=n/2+1;

a[1][j]=1;

for(k=2;

=n*n;

{i=i-1;

j=j+1;

if((i<

1)&

(j>

n))

{i=i+2;

j=j-1;

{if(i<

1)i=n;

if(j>

n)j=1;

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

a[i][j]=k;

{for(j=1;

6-8

#defineN4

#defineM5/*数组为4行5列*/

inti,j,k,a[N][M],max,maxj,flag;

pleaseinputmatrix:

i++)/*输入数组*/

M;

{max=a[i][0];

/*开始时假设a[i][0]最大*/

maxj=0;

/*将列号0赋给maxj保存*/

j++)/*找出第i行中的最大数*/

if(a[i][j]>

max)

{max=a[i][j];

/*将本行的最大数存放在max中*/

maxj=j;

/*将最大数所在的列号存放在maxj中*/

flag=1;

/*先假设是鞍点,以flag为1代表*/

if(max>

a[k][maxj])/*将最大数和其同列元素相比*/

{flag=0;

/*如果max不是同列最小,表示不是鞍点令flag1为0*/

continue;

if(flag)/*如果flag1为1表示是鞍点*/

a[%d][%d]=%d\n"

i,maxj,max);

/*输出鞍点的值和所在行列号*/

if(!

flag)/*如果flag为0表示鞍点不存在*/

Itisnotexist!

6-9

#defineN15

{inti,number,top,bott,mid,loca,a[N],flag=1,sign;

a[0]

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1