作业帮 > 综合 > 作业

c语言 求e 用do-while

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/28 17:08:11
c语言 求e 用do-while
求e=1+1/1!+1/2!+.误差小于10^5我错哪了
#include
main()
{float x=0,m=1;
int n=1;
long i=1;
do{
x=x+m;
i=i*n;
n++;
m=1/i;
}while(m
c语言 求e 用do-while
3个错误1:少C的头文件#include因为你用了printf函数;
2:i应该改成float型,因为m是float型,不改的话两个整形相除就取整数了,不如1/10的话结果是0;
3:m0.00001,否则你输出的果是1了,因为m的初值就是1不满足循环条件,循环体只执行一次就停了.
我在调试的时候还会有一个警告,原因是没有写明返回值,所以还要加个void.
#include
#include
void main()
{float x=0,m=1;
int n=1;
float i=1;
do{
x=x+m;
i=i*n;
n++;
m=1/i;
}while(m>0.00001);
printf("x=%f\n",x);
}
我在Truboc上运行成功了