计算机二级C语言的一道模拟题,求大神相助。

下列给定程序中,函数fun的功能是:计算如下公式并且把计算结果作为函数值返回。例如,若形参e的值为1e-3,则函数返回值为0.551690.请填上下列程序中的空:#inc... 下列给定程序中,函数fun的功能是:计算如下公式

并且把计算结果作为函数值返回。例如,若形参e的值为1e-3,则函数返回值为0.551690.请填上下列程序中的空:
#include <stdio.h>
double fun(double e)
{ int i, k; double s, t, x;
s=0; k=1; i=2;
/**********found**********/
x=__1__/4;
/**********found**********/
while(x __2__ e)
{ s=s+k*x;
k=k* (-1);
t=2*i;
/**********found**********/
x=__3__/(t*t);
i++;
}
return s;
}
main()
{ double e=1e-3;
printf("\nThe result is: %f\n",fun(e));
}

第一个空填 3.0,第二个空填 > ,第三个空填 (t+1)。请问第二个空为什么填“>"???
展开
 我来答
百度网友088d5b4
2013-01-28 · 超过11用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:32.4万
展开全部
你看下题目,是知道某一项小于10^-3次方的时候就结束,那么在此之前的每一个累加项都应该大于10^-3 所以用while(x>e); 意思为,大于e 才进行累加
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2013-01-28 · TA获得超过8603个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3325万
展开全部
#include <stdio.h>
double fun(double e) { int i,k;
double s,t,x;
s = 0;
k = 1;
i = 2;
/**********found**********/
x = 3.0 / 4; // i = 2, x = (2 * i - 1.0)/(i * i)
/**********found**********/
while(x > e) { // e是最大误差,满足精度要求是是必须的
s = s + k * x;
k = k * (-1);
t = 2 * i;
/**********found**********/
x = (t + 1) / (t * t);
i++;
}
return s;
}

int main() { double e = 1e-3;
printf("\nThe result is: %f\n",fun(e));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb91781
2013-01-28 · TA获得超过202个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:135万
展开全部
从主函数可以知道e的值为1e-3,也就是10的-3次方,while循环里面用x > e来控制循环,意思就是如果x的值大于e执行循环体,小于e就跳出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b264c8
2013-01-28 · TA获得超过288个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:203万
展开全部
x的值就是每一项的值
如果x大于10的-3次方就结束

题目就是的参数就这个10的-3次方,如果x大于这个参数的值,就结束循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ll嗯呐ll
2019-02-15
知道答主
回答量:1
采纳率:0%
帮助的人:741
展开全部
有没有大神给注释一下步骤的意思啊,一脸懵逼!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式