(C++)实现简单分数相加

分数相加

个人记录保存

// 
#include "StdAfx.h"
#include "stdio.h"
#include <iostream>
using namespace std;


int main(){
	int a,b,c,d;
	int x,y;
	cin>>a>>b>>c>>d;
	x = a*d+b*c;
	y = b*d;
	int i;
	int f = a<b?a:b;
	for(i=f;i>=1;i--)
	{
		if ( a%i==0&&b%i==0 )break;			//运用定义法求公约数
	}
	int t = i;
	int g = x<y?x:y;
	int h;
	for(h=g;h>=1;h--)
	{
		if ( x%h==0&&y%h==0 )break;			//再次运用定义法求公约数
	}
	cout<<x/h<<" "<<y/h; 					//用所求得的公约数化简
	return 0;
}

参考资料

【C++】求两个数的最大公约数——方法大全

你可能感兴趣的:(练习)