C语言编程:有一分数序列:2⼀1,3⼀2,5⼀3,8⼀5,13⼀8,21⼀13...求出这个数列

2024-11-02 02:21:20
推荐回答(5个)
回答(1):

//这个题目就是斐波那契数列的一个变式

#include 
#include 

int main(void)
{
    int a[22];
    a[0]=1;
    a[1]=1;
    int i;  int fenmu;  int fenzi;
    double sum=0;
    //我们先打印一下前20项看一看是否符合规律
    printf("我们先打印一下前20项看一看是否符合规律:\n");
    for(i=2;i<=21;i++)
    {
        a[i]=a[i-1]+a[i-2];
        fenmu=a[i-1];
        fenzi=a[i];
        sum+=fenzi/fenmu*1.;
        printf("%4d/%4d\t",fenzi,fenmu);
    }
    printf("前20项之和为:%lf",sum);
    return (0);
}

回答(2):

#include
int main (void)
{
int i = 1;
int j = 2;
int count =1;
double vlue = 0.0;

for(;count <= 20; count++)
{ vlue += (double)j/i;
j= i+j;
i= j-i;
}
printf("%.2lf",vlue);
return 0;
}
这样写就ok了,我验算过了 ,望采纳

回答(3):

#include 

double Sum(int n) {
int i;
double sum = 0.0;
double rator = 2,nator = 1,t;
for(i = 0; i < n; ++i) {
sum += rator / nator;
t = nator;
nator = rator;
rator = t + nator;
}
return sum;
}
 
int main() {
int n = 20;
printf("f(%d) = %lf\n",n,Sum(n));
return 0;
}

回答(4):

int i=0;
double x=2.0,y=1.0,z=0;
for(;i<20;i++){
z+=x/y;
x+=y;
y=x;

}

回答(5):

struct equal
{
double L;
double R;

};
equal x[20];
x[0].L=2;x[0].R=1;
x[1].L=3;x[1].R=2
for(int i=2;i<20;i++)
{
x[i].L=x[i-1].L+x[i-2].L;

x[i].R=x[i-1].R+x[i-2].R;
}
double sum=0;
for(int i=0;i<20;i++)
{
sum+=x[i].L/x[i].R;

}
cout<