4.28趣味百题4.7

发布时间 2023-04-28 10:25:18作者: 混沌武士丞

一 问题描述

比较两个分数的大小

二 设计思路

输入两个分数 先把分数化为最简分式 接着求两个分数的最小公倍数 比较分子大小

三 流程图

四 c++代码实现

#include<iostream>
using namespace std;

int ifzdgy(int ,int );
int main()
{
int x1, y1, x2, y2;
int m = 0, n = 0;
cin >> x1 >> y1 >> x2 >> y2;
m = ifzdgy(y1, y2) * x1 / y1;
n = ifzdgy(y1, y2) * x2 / y2;
if (m > n)
{
cout << x1 << "/" << y1 << ">" << x2 << "/"<<y2;
}
else if (m == n)
{
cout << x1 << "/" << y1 << "==" << x2 << "/"<<y2;
}
else
{
cout << x1 << "/" << y1 << "<" << x2 << "/"<<y2;
}
return 0;

}
int ifzdgy(int a, int b)
{
long int c = a * b;
int d = 0;
if (a < b)
{
a = a + b;
b = a - b;
a = a - b;
}//交换a,b使得a>b
for (; b != 0;)
{
d = b;
b = a % b;
a = d;
}
return (int)c / a;
}