用C语言编写一个S=1+(1/(1+2))+(1/(1+2+3))+....+(1/(1+2+..+n))的代码
4个回答
展开全部
#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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
//解体的关键应该是等差数列求和公式
#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;
}
//解体的关键应该是等差数列求和公式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
很容易的,看下就懂了~
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;
}
很容易的,看下就懂了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询