C语言求帮助!!求e的近似值,用1/1!+1/2!+1/3!+.......1/n!
#include"stdio.h"voidmain(){intn=1;longk=1;floatsum=0;while(sum>1e-6){k*=n;sum+=1.0/k...
# include "stdio.h"
void main()
{
int n=1;
long k=1;
float sum=0;
while(sum>1e-6)
{
k *= n;
sum += 1.0/k;
n++;
}
printf("%.2f\n",sum);
}
}
为啥子没有运行结果,怎么错了!运行不正确。。求解。。希望能告之我哪错了。。 展开
void main()
{
int n=1;
long k=1;
float sum=0;
while(sum>1e-6)
{
k *= n;
sum += 1.0/k;
n++;
}
printf("%.2f\n",sum);
}
}
为啥子没有运行结果,怎么错了!运行不正确。。求解。。希望能告之我哪错了。。 展开
推荐于2017-05-23 · 知道合伙人IT服务行家
关注
展开全部
首先:%0.2f表示小数点后只要两位的喔?
其次:错误是在while(sum>le-6),这个是因为,刚刚开始的时候,sum就是一个0,不大于le-6,所以,sum的结果是0。
最后稍微改动了一下:
# include "stdio.h"
void main()
{
int n=1;
long k=1;
float sum=0;
float temp = 1;
while(temp>1e-6)
{
k *= n;
temp = 1.0/k;
sum += temp;
n++;
}
printf("%.2f\n",sum);
}
其次:错误是在while(sum>le-6),这个是因为,刚刚开始的时候,sum就是一个0,不大于le-6,所以,sum的结果是0。
最后稍微改动了一下:
# include "stdio.h"
void main()
{
int n=1;
long k=1;
float sum=0;
float temp = 1;
while(temp>1e-6)
{
k *= n;
temp = 1.0/k;
sum += temp;
n++;
}
printf("%.2f\n",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(sum>1e-6) 变成1.0/k>1e-6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sum>1e-6 while的初始条件 sum=0 是否>1e-6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |