编写程序,求1+1/(1+2)+1/(1+2+3)+... +1/(1+2+...+n),并将结果存放到s。
答案:2 悬赏:40
解决时间 2021-01-30 19:14
- 提问者网友:心裂忍耐
- 2021-01-30 11:21
void main()
{int a=0,b=1;
int i,n;
s=0;
if (n>=1)
{for(i=1;i<=n;i++)
{a=a+b;
b=b+1;
s=s+(1.0/a);}
}
else s=0;
}
我就想知道这个程序为什么错,我运行出来s都是等于0,为什么?
最佳答案
- 二级知识专家网友:你把微笑给了谁
- 2021-01-30 11:38
你的n没有进行赋值
全部回答
- 1楼网友:晚安听书人
- 2021-01-30 12:33
用什么语言呢?我就当是c++了。改成c也好改。一般也都能看懂。前面是测试用的主函数,后面是函数。
#include "stdafx.h"
double fun(int n);
int main()
{
int n;
n=3;
double c;
c=0;
c=fun(n);
printf("%f",c);
getchar();
return 0;
}
double fun (int n)
{
double sum=0;
double temp=0;
double temp_1;
for(int i=1;i<=n;i++)
{
for(int k=1;k<=i;k++)
{temp=temp+k;}
temp_1=1.0/temp;
temp=0;
sum=temp_1+sum;
}
return sum;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯