c++编程计算数列的前10项之和:1/2,3/2,5/3,8/5,13/8,21/13,34/21

c++编程计算数列的前10项之和:1/2,3/2,5/3,8/5,13/8,21/13,34/21

第1个回答  2012-06-04
你要的代码,如果不想用函数,就直接把函数里的全复制出来

#include<iostream>
#include<cstdlib>

using namespace std;

double fun(int n)
{
double a = 1, b = 2, result = 0, tmp;
for(int i = 0; i < n; ++i){
result += a/b;
tmp = b;
if(i != 0) //只有第二项时分母不会变化
b = a;
a += tmp;
}
return result;
}

int main()
{
int n;
cout << "输入需要计算的项数"<<endl;
cin >> n;
cout << n << "项之和为" << fun(n) << endl;
system("pause");
return 0;
}本回答被提问者采纳
第2个回答  2012-06-03
#include<iostream>
using namespace std;
int main(){
float s[10];//存放10个数
int i,m=1;
static float j=1;
static float k=2;
float sum=0;//计算和
s[0]=1/2;
for(i=1;i<10;i++)
{
if(m%2!=0)
{
j=j+k;
s[i]=j/k;
m++;
}
else
{
k=j+k;
s[i]=k/j;
m++;
}
}
for(i=1;i<10;i++)
sum=sum+s[i];
cout<<sum<<endl;
}
第3个回答  2012-06-03
#include <iostream>//前20项的和
using namespace std;
int main()
{

double st=0,sum=0,fz=2,fm=1,fmt,i;
for(i=1;i<=10;i++)
{
st=fz/fm;
fmt=fm;
fm=fz;
fz=fz+fmt;
sum+=st;
}

cout<<"sum="<<sum<<endl;
}
相似回答