全国计算机等级考试二级教程——C语言程序设计(年版)
编程题答案(第5章):
[5.17]
编写程序,求1-3+5-7+…-99+的值。
答:
#includestdio.h
#includemath.h
main()
{intn,s,a,sum;
n=1,s=-1,a=sum=0;
while(fabs(a))
{s=-s;
a=(2*n-1)*s;
n++;
sum+=a;
}
printf("sum=%d",sum);
}
[5.18]
编写程序,求e的值,
(1)用for循环,计算前50项。
(2)用while循环,要求直至最后一项的值小于
。
答:
(1)
#includestdio.h
main()
{intn;
doublea,b;
for(n=1,a=b=1.0;n=49;n++)
{a*=n;
b+=(1/a);
}
printf("e=%f",b);
}
(2)
#includestdio.h
main()
{intn=1;
doublea=1.0,b=1.0;
while((1/a)=1e-6)
{a*=n;
b+=(1/a);
n++;
}
printf("e=%f",b);
}
[5.19]
编写程序,输出从公元年至公元年所有闰年的年号,每输出10个年号换一行。判断公元年是否为闰年的条件是:
(1)公元年数如能被4整除,而不能被整除,则是闰年。
(2)公元年数能被整除也是闰年。
答:
#includestdio.h
main()
{inta,k=0;
for(a=;a=;a++)
{if((!(a%))
((a%)(!(a%4))))
{printf("%d",a);
k++;
if(!(k%10))printf("\n");
}
}
}
[5.20]
编写程序,打印以下图形;
*
***
*****
*******
*****
***
*
答:
#includestdio.h
main()
{inti,j,k;
for(k=1;k=7;k++)
{if(k=4){for(i=1;i=(4-k);i++)
printf("");
for(j=1;j=(2*k-1);j++)
printf("*");
printf("\n");
}
else{for(i=1;i=(k-4);i++)
printf("");
for(j=1;j=(15-2*k);j++)
printf("*");
printf("\n");
}
}
}