C语言分数序列求和问题
#include<stdio.h>int main()
{
float sum_h,a,b,wa,wb,wc,c,i,sum;
wa = 3;
wb = 2;
a =2;
b =1;
sum_h = 0;
for(i=1;i<=20;i++)
{
wc =wa+wb;
wb = wa;
wa = wc;
for(i=1;i<=20;i++)
{
c =a+b;
b = a;
a = c;
sum = wb/b;
}
sum_h =sum_h+sum;
}
sum_h = sum_h = 2/1;
printf("SUM为:%f",sum);
}
具体问题:2/1+3/2+5/3+8/5+13/8.....一直加到第二十个.
我想用两个循坏,一个当分母,一个当分子,但是不对.问题出在哪里 你的程序我就不改了,我给你我的程序:// 求 数列 2/1 + 3/2 + 5/3 + 8/5 + 13/8 . . .前20项和
#include<stdio.h>
int main()
{
float i, fz = 2, fm = 1, fmq = 0, sum = 0;
sum = 2 / 1;
for (i = 1;i < 20;i++) // 第1项已经预先加了,所以加到第19项即可
{
fmq = fm; // 将前一次的分母赋给前分母
fm = fz; // 将前一次的分子赋给新的分母
fz = fmq + fm; // 新的分子
sum += fz / fm;
}
printf("SUM为: %f", sum);
printf("\n");
}
********************************
SUM为: 32.660263
请按任意键继续 . . .
页:
[1]