C语言关于数列问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 09:05:18
2/1+3/2+5/3+8/5+8/13……求前20项的和。。就是那个F什么数列的
用for怎么做?不能用数组
谁知道。。。

#include"stdio.h"
#define N 20
void main()
{
float m,n,s;
int i;
s=0;
m=2;n=1;
for(i=1;i<=N;i++)
{
s=s+m/n;
m=m+n;
n=m-n;
}
printf("s=%f\n",s);
}
加头文件#include"stdio.h"(不加也可,但习惯不好)
#define N 20 算前20个
#define N 30 算前30个
2/1,3/2,5/3,8/5,13/8,21/13
分母1:第一项的分母 分子1:第一项的分子
分子2=分母1+分子1;分母2=分子1;
分子3=分母2+分子2;分母3=分子2;
分子n+1=分母n+分子n;分母n+1=分子n;
m=m+n;---分子n+1=分母n+分子n
n=m-n;---分母n+1=分子n

如 n=1,m=2
m=m+n;---m=分子2=分母1+分子1=3
n=m-n;---分母2=m-n=3-1=2

include<stdio.h>
void main()
{
int a,b,t,i;
double sum,c;
sum=0.0;
a=1;
b=2;
for(i=0;i<20;i++){
c=b/a;
sum+=c;
t=b;
b+=a;
a=t;
}
printf("%f",sum);
}

s1=1;s2=2;s3=3;a=0;
for(i=0;i<20;i++)
{<