编程要求
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和的整数部分。
n的值运行时通过键盘输入给定,并且n<=30。
输出值只保留整数(不要四舍五入)。
效果如下:
输入:20。
输出:32。
#include <stdio.h>
int main()
{
int n,a = 2,b = 1; //分子/分母=a/b
float s = 0; //前n项之和s
scanf("%d", &n);
for(int i=1;i<=n;i++){
printf("%d/%d + \n", a, b);
s = s+1.0*a/b;//记得*1.0,避免整型相除直接取整
a = a+b;
b = a-b;
}
//printf("%f\n",s);
printf("%d",(int)s);
return 0;
}