【C语言】求序列前N项和

问题描述

输入一个正整数n,输出2/1+3/2+5/3+8/5+…的前n项之和(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子),保留2位小数。试编写相应程序。

【C语言】求序列前N项和_第1张图片

代码实现

#include
int main()
{
	int n, i;
	double num,den;//num为分子,den为分母 
	double sum = 0.0;
	double t;
	scanf("%d", &n);
	num = 2;
	den = 1;
	for( i=1; i<=n; i++ ) {
		sum = sum + num/den;
		t = num;
		num = num + den;
		den = t;
	}
	printf("%.2f\n",sum);
	
	return 0;
}

分子和分母要用"double"数据类型,因为后一项的分子是前一项分子分母之和,故而分子和分母会变得越来越大,若用"int"会越界导致运算出错!!!!!!

运行结果

【C语言】求序列前N项和_第2张图片

你可能感兴趣的:(C语言程序,c语言)