【代码】
#include <stdio.h>
double get_sum(int n)
{
int i;
double x = 1, y = 2;
double sum = 0;
double tmp = y / x;
double z;//陷进,必须要定义这个变量
for (i = 1; i <= n; ++i)
{
sum += tmp;
z = y;//先保存分子
y = x + y;//更新分子
x = z;//更新分母,这三步像极了两个变量的赋值操作
tmp = y / x;
}
return sum;
}
int main()
{
printf("%.12lf", get_sum(6));
return 0;
}
【前6项之和答案】
【第二次写的答案】
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#define maxSize 100
double Sum(int n)
{
double x, y, tmp;
int i;
x = 2, y = 1;
double sum = x / y;
for (i = 2; i <= n; ++i)
{
tmp = x;
x = x + y;
y = tmp;
sum += x / y;
}
return sum;
}
int main()
{
printf("%f", Sum(6));
return 0;
}