读书人

求程序解读解决方案

发布时间: 2013-07-30 12:05:31 作者: rapoo

求程序解读
main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
 {
 t*=n;
 s+=t;
 }
printf("1+2!+3!...+20!=%e\n",s);
}
其中for语句中t*=n; s+=t;是怎么实现循环的,及其代表的含义

[解决办法]
t*=n; -> t=t*n;//表示n!
s+=t; ->s=s+t; //表示1+2!+...+n!之和

你在循环中打印一下每次循环后t,s的值
就能看出来他是怎么在循环的了
[解决办法]
t*=n; //n=1时,t=t*n=1*1=1
s+=t; //n=1时,s=s+t=0+1=1

t*=n; //n=2时,t=t*n=1*2=2
s+=t; //n=1时,s=s+t=1+2=3
.......
如此重复下去,直到n=20

读书人网 >C语言

热点推荐