描述:有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。
输入:输入只有一个正整数n,1≤n≤10。
输出:输出改序列前n项和,结果保留小数后6位。
样例输入:3
样例输出:5.166667
提示:结果需要用double类型来保存。
考点:算法
代码:
#include <stdio.h>
int main(int argc, char const *argv[])
{
double a=1,b=2; //a为分母,b为分子
int n;
int i;
double s=0; //和
double temp;
scanf("%d",&n); //输入
for (i=1;i<=n;i++) //循环求和
{
s=b/a+s; //求和
temp=a; //把a原来的数值保存下来
a=b; //求第二个数的a
b=b+temp; //求第二个数的b
}
printf("%lf\n",s); //输出
return 0;
}