c++中求分数序列2/1,3/2,5/3,8/5,13/8,21/13....前20项的和

求分数序列2/1,3/2,5/3,8/5,13/8,21/13…前20项的和
规律:从第二项开始,后一项的分母等于前一项的分子,后一项的分母等于前一项分母与分子之和

#include "stdafx.h"
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{//求2/1,3/2,5/3,8/5,13/8,21/13......前20项之和
	float a,b,s,t;//a用来存放分子,b用来存放分母,t用来存放中间变量,s用来存放前20项的和
	int i;
	a=2;
	b=1;
	s=a/b;
	for(i=1;i<20;i++)
	{
		t=b;//将前一项分母b存放在临时变量t中
		b=a;//将前一项分子的值赋给后一项的分母
		a=a+t;//实现前一项分母与分子的值相加,并赋给后一项的分子
		s=s+a/b;//实现每一项的累加
	}
	cout<<"分数序列前20项的和为:"<<s<<endl;
	return 0;
}


实现数据的交换的关键点在于临时变量的设置

猜你喜欢

转载自blog.csdn.net/qq_43090158/article/details/82919251