注册 登录
编程论坛 汇编论坛

各位帮忙看一下这个求100!的小程序哪里错啦?

星属仑 发布于 2016-02-21 11:00, 5844 次点击
#include <stdio.h>
main()
{int i;double t=1.0;
for(i=1;i<=100;i++) t=t*i;
printf(“%7.5f”,t);
getch();
}




[此贴子已经被作者于2016-2-21 11:18编辑过]

5 回复
#2
hu9jj2016-02-22 08:05
测试一下最后的结果是多少?
#3
hu9jj2016-02-22 08:06
以下是引用星属仑在2016-2-21 11:00:04的发言:

#include  
main()
{int i;double t=1.0;
for(i=1;i<=100;i++ t=t*i;
printf(“%7.5f”,t);
getch();
}
 
 
是不是右括号错了?
#4
星属仑2016-02-23 20:46
回复 2楼 hu9jj
我改了右括号和上下引号之后,仍提示有一处错误,无法运行。后来我删掉getch();之后就可以了。结果是:93326215443944102000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000.0
0000Press any key to continue
也不知结果对不对,

[此贴子已经被作者于2016-2-23 20:56编辑过]

#5
wmf20142016-02-24 08:59
getch原型在conio.h头文件里。100的阶乘太大了,double只能得到近似值。
#6
Valenciax2016-05-16 12:59
回复 4楼 星属仑
你这是17位有效值,亦即fpu BCD输出的最大位,是近似而不是精确,
下面是100!和1000!的精确值
只有本站会员才能查看附件,请 登录
1