c语言,改错题,我的错误在哪里,请给我指出来,您千万不要,再给我写一个你的正确的答案。
4个回答
展开全部
#include <stdio.h>
int main(void) {
double i = 1.0, e = 1.0 /*要初始化,a和b不要了,没用*/;
double f(int i); /*C标郑毕茄准禁止嵌套函数,把函数体放在外面*/
/*这里应该没问题,但我按照题目要求改一下*/
double eps;
for (eps = 1 / f(i); eps >= 1e-6; 数数i++) {
e += eps;
eps = 1 / f(i);
}
喊察 printf("%f", e);
}
double f(int i) {
/*阶乘函数太乱了,看不懂,直接改写*/
double result = 1.0;
while (i > 1)
result *= i--;
return result;
}
如果有疑问,请追问,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数不要定义在函数里面。
追答
i没有初始值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的调用函数写外面去,再加一个声明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-24
展开全部
是e+=1/f(i);不是*=
追答
而且i未初始化(
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询