C程序设计第四版谭浩强第5章习题答案.docx
《C程序设计第四版谭浩强第5章习题答案.docx》由会员分享,可在线阅读,更多相关《C程序设计第四版谭浩强第5章习题答案.docx(8页珍藏版)》请在冰豆网上搜索。
![C程序设计第四版谭浩强第5章习题答案.docx](https://file1.bdocx.com/fileroot1/2023-1/7/b317f730-edf8-4b00-8b16-202efa00617f/b317f730-edf8-4b00-8b16-202efa00617f1.gif)
C程序设计第四版谭浩强第5章习题答案
5.2
#include
#include
intmain()
{
intsign=1,i=0;
doublepi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-6)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
i++;
}
pi=pi*4;
printf("i=%d\npi=%10.8f\n",i,pi);
return0;
}
5.2
#include
#include
intmain()
{
intsign=1,i=0;
doublepi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-8)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
i++;
}
pi=pi*4;
printf("i=%d\npi=%10.8f\n",i,pi);
return0;
}
5.3
#include
intmain()
{
intm,n,t,q,r;
printf("输入两个正整数:
");
scanf("%d,%d",&m,&n);
if(m{t=m;
m=n;
n=t;
}
q=m*n;
while(n!
=0)
{r=m%n;
m=n;
n=r;
}
printf("最大公约数:
%d\n",m);
printf("最小公倍数:
%d\n",q/m);
yreturn0;
}
5.4
#include
intmain()
{intletter=0,space=0,digit=0,other=0;
charc;
printf("输入一行字符:
\n");
while((c=getchar())!
='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digit++;
else
other++;
}
printf("英文字母个数:
%d\n空格个数:
%d\n数字个数:
%d\n其他:
%d\n",letter,space,digit,other);
return0;
}
5.5
#include
intmain()
{
intn,i,a,t=0,s=0;
printf("inputa,n=");
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++)
{
t=t+a;
s=s+t;
a=10*a;
}
printf("a+aa+aaa+……+aa……a=%d\n",s);
return0;
}
5.6
#include
intmain()
{
doublen,t=1,s=0;
for(n=1;n<=20;n++)
{
t=t*n;
s=s+t;
}
printf("结果为:
%25.15e",s);
return0;
}
5.7
#include
intmain()
{
floats3=0,k;
ints1=0,s2=0;
for(k=1;k<=100;k++)
{
s1=s1+k;
}
for(k=1;k<=50;k++)
{
s2=s2+k*k;
}
for(k=1;k<=10;k++)
{
s3=1/k+s3;
}
printf("%d\n%d\n%15.6f\n%15.6f\n",s1,s2,s3,s1+s2+s3);
return0;
}
5.8
#include
intmain()
{
inta,b,s,g;
for(a=100;a<=999;a++)
{
b=a/100;
s=(a-b*100)/10;
g=a-b*100-s*10;
if(a==b*b*b+s*s*s+g*g*g)
printf("%d\n",a);
}
printf("\n");
return0;
}
5.9
#include
intmain()
{intm,s,i;
for(m=2;m<1000;m++)
{s=0;
for(i=1;iif((m%i)==0)
s=s+i;
if(s==m)
{printf("%ditsfactorsare",m);
for(i=1;iif(m%i==0)printf("%d",i);
printf("\n");
}
}
return0;
}
5.10
#include
intmain()
{
floata=2,b=1,t,s=0;
inti;
for(i=1;i<=20;i++)
{s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf("sum=%15.12f\n",s);
return0;
}
5.11
#include
intmain()
{
inti;
floats=0,l=100,h=l/2;
for(i=1;i<=10;i++)
{
s=s+2*h;
h=h/2;
}
printf("共经过:
%f\n第10次反弹:
%f\n",s,h);
return0;
}
12.
#include
intmain()
{
inti,a=1;
for(i=9;i>0;i--)
a=2*a+2;
printf("%d\n",a);
return0;
}
5.16
#include
intmain()
{
inti,j,k;
for(i=0;i<=3;i++)
{for(j=0;j<3-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");
}
return0;
}
5.17
#include
intmain()
{
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("A-%c\nB-%c\nC-%c\n"
return0;
}