用C语言编写程序,求1+1/(1+2)+1/(1+2+3)+... +1/(1+2+...+n),并将结果存放到s。

如题所述

第1个回答  2012-12-01
#include<stdio.h>
int main()
{
int n,j;
float sum=0,s=0;
printf("请输入n的值:");
scanf("%d",&n);
for(j=1;j<=n;j++)
{
sum=sum+j;
s=s+1/sum;
}
printf("%g",s);
return 0;
}
需注意詹俊峰给的是典型的错误答案,请楼主思考为什么。
第2个回答  推荐于2018-02-28
float a=0,b=1,s=0;
int i,n;
scanf("%f",&n);
for(i=0;i<n;i++)
{
a=a+b;
b++;
s=s+1/a;
}
printf("s=%f",s);追问

a=0,b=1,s=0;
a=a+b;
b++;
s=s+1/a;
这些不太懂

追答

执行第一次循环的时候
a=a+b=0+1;
b++;
s=0+1/1;
执行第二次循环
a=a+b=(0+1)+2;
b++;
s=1/1+1/(1+2);
执行第三次循环
a=a+b=(()+1+2)+3;
b++;
s=1/1+1/(1+2)+1/(1+2+3);

b++就是b=b+1

本回答被提问者和网友采纳
第3个回答  2020-04-26
#include<stdio.h>
float ff(int n)
{
int i;
float s=0,sum=0;
for(i=1;i<=n;i++)
{
s+=i;
sum+=1/s;
}
return sum;
}
void main()
{
int h;
float s;
scanf("%d",&h);
s=ff(h);
printf("%f",s);
}
第4个回答  2018-04-25
# include <stdio. h>
#include <math.h>
float fun(int n)
{int i;
float s=1.0,t=1.0;
for(i=2;i <=n; i ++)
{t+=i;
S+=1/t;
}
return s;
}
main()
{printf("\n%f", fun("n取任意值"));
getchar();
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网