有以下程序:(c语言题目求解)

#include<stdio.h>doublef(intn){inti;doubles;s=1.0;for(i=1;i<=n;i++)s+=1.0/i;returns;}... #include <stdio.h>
double f(int n)
{ int i; double s; s=1.0;
for(i=1;i<=n;i++) s+=1.0/i;
return s;
}
main()
{ int i,m=3; double a=0.0;
for(i=0;i<m;i++) a+=f(i);
printf("%f\n",a);
}
展开
 我来答
wang06998
2012-01-30 · TA获得超过5659个赞
知道大有可为答主
回答量:3755
采纳率:83%
帮助的人:2457万
展开全部
结果是5.500000
高教版全过计算机二级c语言第7章课后原题。

你打的程序里面有几个地方出现了中文字符,会导致编译无法通过
更多追问追答
追问
哪里有中文字符?这是填空题 我想要思路的
追答
main()  大括号
{ int i,m=3; double a=0.0; i后面的逗号
for(i=0;i<m;i++) a+=f(i);
printf("%f\n",a);
}
这几个地方中文字符。

只考了一个累加求和算法。
主函数能看出来,累加是在计算a=0+f(0)+f(1)+f(2)
然后到函数f分别代入0 1 2能够得到结果

函数f能看出,仍然是在累加,是在计算s=1.0+1/1+1/2+1/3+1/4+……+1/n
而return s能确认s的值就是函数f的返回值
也就是说,
f(0)=1.0
f(1)=1.0+1/1=2.0
f(2)=1.0+1/1+1/2=2.5
带回主函数就行了。

这道题考的是基本算法。

---------------------------------------------
我知道是填空题,我连题目出处都指出来了,还能不知道这个?
我的感觉,你的c学的太浮躁了。刚开始学的时候注重的语法,语法掌握后,应该把精力放到基本算法上了
计10电
2012-01-31 · TA获得超过128个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:126万
展开全部
5.500000
a=f(0)+f(1)+f(2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-30
展开全部
123321
追问
456654
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式