新手请教:关于数值较大的数的输出
程序代码:#include<stdio.h>
main()
{
long double s1=1,s2=0;
int i,y;
scanf("%d",&y);
for(i=1;i<=y;i++)
{
s1*=i;
s2+=s1;
}
printf("%e",s2);
getch();
}
例如上面这个阶乘和的程序只能输出1!加到170!的数1!+2!······+170!=7.300360e+306
之后就加不了了
请教:
如果很无聊想加到更大的数怎么办
就比如从1!加到10000!那要怎么改?
很苦恼
目前我知道long double表示的值是最大的了,
e能以科学计数法表示很大的数;
但是都没法实现。
[ 本帖最后由 jiangwu10057 于 2009-10-25 09:37 编辑 ]








