用C语言编写一个S=1+(1/(1+2))+(1/(1+2+3))+....+(1/(1+2+..+n))的代码

例如:若n的值为11时,函数值为1.833333... 例如:若n的值为11时,函数值为1.833333 展开
 我来答
fhydralisk
2012-04-04 · TA获得超过1853个赞
知道小有建树答主
回答量:1088
采纳率:0%
帮助的人:611万
展开全部
#include <stdio.h>

double func(int n)
{
double s=1,k=1; //s储存结果,k储存第i各多项式的值。
int i;
for (i=2;i<=n;i++)
{
k+=i;
s+=1/k;
}
return s;
}

void main(void)
{
int s=func(11);
printf("S=%f\n",s);
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
unknownDota
2012-04-04
知道答主
回答量:22
采纳率:0%
帮助的人:6.1万
展开全部
#include <cstdlib>
#include <iostream>

using namespace std;

double sRecursion(int n){ //递归实现
if(n == 1)
return 1.0;
else
return(sRecursion(n-1)+2.0/((1+n)*n));
}

double sIteration(int n){ //迭代实现
double sum = 0;
for(int i = 1;i <= n;i++){
sum += 2.0/((1+i)*i);
}
return sum;
}

int main(int argc, char *argv[])
{
cout<<"Please enter an integer:"<<ends;
int n;
cin>>n;
cout<<"sRecursion(n)="<<sRecursion(n)<<endl;
cout<<"sIteration(n)="<<sIteration(n)<<endl;
double sum = 0;
int i = 1;

sLoop: //goto实现
sum += 2.0/((1+i)*i);
if(i++ < n)
goto sLoop;
cout<<"sum after sLoop is "<<sum<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

//解体的关键应该是等差数列求和公式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c281b4c
推荐于2018-04-13 · TA获得超过2293个赞
知道大有可为答主
回答量:2382
采纳率:50%
帮助的人:1025万
展开全部
#include <stdio.h>
int main()

{
double s1=0,s2=0,i;
int j;
scanf("%d",&j);
for(i=1;i<=j;i++)
{
s1+=i;
s2+=1/s1;
}
printf("%f",s2);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天才绣
2012-04-04 · TA获得超过199个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:231万
展开全部
#include<stdio.h>
int main()
{
double s,t;
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=1/i;
s=s+t;
}
printf("%lf",s);
return 0;
}
很容易的,看下就懂了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式