个一关于阶乘相加的问题!我不知道为什么要定义成FLOAT
main()
{
long k,t,s;
k=1;
t=1;
s=0;
while(t<=20)
{
k=k*t;
t++;
s=s+k;
}
printf("%d\n",s);
}
为什么要定义成FLOAT啊????我定义成LONG为什么就不行呢?
以下为答案:我觉得和我编的意思一样啊!
但不知为什么我的就不能得出正确结果来!
请高手指点一下!
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);
[此贴子已经被作者于2006-8-24 16:46:59编辑过]