我意识计算结果是3.000000 但答案显示是5.500000 求教高手解答5.5是怎么计算来的?

C #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);

波斯汪
浏览 125回答 2
2回答

守候你守候我

根据函数的定义 f(0)时函数for语句i<=n 不成立,故f(0)=s=1.0&nbsp;f(1)=2.0 f(2)=2.5a=0.0+f(0)+f(1)+f(2)=5.5 输出为%f型故有小数

慕村9548890

a=0.0+f(0)+f(1)+f(2)=0.0+(1.0)+(1.0+1.0/1)+(1.0+1.0/1+1.0/2)=0.0+1.0+2.0+2.5=5.5
打开App,查看更多内容
随时随地看视频慕课网APP