题目中错误的解法
#include <stdio.h>
main()
{
int i, s1 = 2, s2 = 1;
float x, sum = 0;
for (i = 1; i <= 20; i++)
{
sum += s1 / s2;
x = s1;
s1 += s2;
s2 = x;
}
printf("sum = %9.6f\n", sum);
}
已知的正确解法
#include<stdio.h>
int main()
{
int i;
double a = 1.0, b = 2.0, sum = 0, c = 0, d = 0;
for(i = 1; i <= 20; i++)
{
c = b / a;
sum += c;
d = a + b;
a = b;
b = d;
}
printf("The sum is:\n%lf\n", sum);
return 0;
}