4.28趣味百题4.7
一 问题描述
比较两个分数的大小
二 设计思路
输入两个分数 先把分数化为最简分式 接着求两个分数的最小公倍数 比较分子大小
三 流程图

四 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;
}

 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号