C语言程序设计谭浩强第四版课后答案.doc
文本预览下载声明
第5章循环结构程序设计140页】
5-2
#include stdio.h
#include math.h // 程序中用到数学函数fabs,应包含头文件math.n
int main()
{
int sign=1,count=0; // sign用来表示数值的符号,count用来统计循环次数
double pi=0.0,n=1.0,term=1.0; // pi开始代表多项式的值,最后代表π的值, n代表分母,term代表当前项的值
while(fabs(term)=1e-8) // 检查当前项term的绝对值是否大于或等于10的(-6)次方
{
pi=pi+term; // 把当前项term累加到pi中
n=n+2; // n+2是下一项的分母
sign=-sign; // sign代表符号,下一项的符号与上一项符号相反
term=sign/n; // 求出下一项的值term
count++; // count累加1
}
pi=pi*4; // 多项式的和pi乘以4,才是π的近似值
printf(pi=%10.8f\n,pi); // 输出π的近似值
printf(count=%d\n,count); // 输出循环次数
return 0;
}
5-3
#include stdio.h
int main()
{
int p,r,n,m,temp;
printf(请输入两个正整数n,m:);
scanf(%d,%d,,n,m);
if (nm)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf(它们的最大公约数为:%d\n,n);
printf(它们的最小公约数为:%d\n,p/n);
return 0;
}
5-4
#include stdio.h
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf(请输入一行字符:\n);
while((c=getchar())!=\n)
{
if (c=a c=z || c=A c=Z)
letters++;
else if (c== )
space++;
else if (c=0 c=9)
digit++;
else
other++;
}
printf(字母数:%d\n空格数:%d\n数字数:%d\n其它字符数:%d\n,letters,space,digit,other);
return 0;
}
5-5
#include stdio.h
int main()
{
int a,n,i=1,sn=0,tn=0;
printf(a,n=:);
scanf(%d,%d,a,n);
while (i=n)
{
tn=tn+a; /*赋值后的tn为i个 a组成数的值*/
sn=sn+tn; /*赋值后的sn为多项式前i项之和*/
a=a*10;
++i;
}
printf(a+aa+aaa+...=%d\n,sn);
return 0;
}
5-6
#include stdio.h
int main()
{double s=0,t=1;
int n;
for (n=1;n=20;n++)
{
t=t*n;
s=s+t;
}
printf(1!+2!+...+20!=%22.15e\n,s);
return 0;
}
5-7
#include stdio.h
int main()
{
int n1=100,n2=50,n3=10;
double k,s1=0,s2=0,s3=0;
for (k=1;k=n1;k++) /*计算1到100的和*/
{s1=s1+k;}
for (k=1;k=n2;k++) /*计算1到5
显示全部