求程序解读解决方案
求程序解读
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
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