C语言实验——分数序列
Problem Description
有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。
Input
输入只有一个正整数n,1≤n≤10。
Output
输出该序列前n项和,结果保留小数后6位。
Example Input
3
Example Output
5.166667
代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int i, n, m, a = 2, b = 1;
double sum = 2.0;
scanf("%d", &n);
for(i = 2; i <= n; i++)
{
m = a;
a = a + b;
b = m;
sum += (double) a / b;
}
printf("%.6lf\n", sum);
return 0;
}