C语言错哪了

[复制链接]
查看11 | 回复3 | 2011-5-9 19:52:39 | 显示全部楼层 |阅读模式
#include
void main ()
{
int n;
double e=1.0,mul=0;
for(n=1;mul>1.0e-7;n++)
mul/=n,e+=mul;
printf("\ne=%11.61f(n=%d)\n",e,n);
}
书上说运行结果是e=2.718282(n=12),

回复

使用道具 举报

千问 | 2011-5-9 19:52:39 | 显示全部楼层
for(n=1;mul>1.0e-7;n++) 里面的条件不满足则不执行mul/=n,e+=mul;printf("\ne=%11.61f(n=%d)\n",e,n);里面的%11.61f是%11.6lf;不是61f 而是6lf
回复

使用道具 举报

千问 | 2011-5-9 19:52:39 | 显示全部楼层
for(n=1;1.0/mul>1.0e-7;n++){mul*=n,e+=1.0/mul;}
回复

使用道具 举报

千问 | 2011-5-9 19:52:39 | 显示全部楼层
mul>1.0e-7这句你想干啥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行