分数比较

分数比较 

#include<stdio.h>
int f(int x, int y)//寻找两个整数的最小公倍数
{
    int i = x>y ? x:y;//令i等于两个整数中的较大者
    while(1)
    {
        if(i%x==0&&i%y==0)//找到公倍数
        {
            break;
        }
        i++;
    }
    //至此, i等于两个整数的最小公倍数
    return i;
}
char judge(int a1, int b1, int a2, int b2)//判断两分数的大小关系
{
    //第一步, 找b1和b2的最小公倍数
    int k=f(b1, b2);
    //第二步, 通分
    a1=k/b1*a1;
    a2=k/b2*a2;
    //第三步, 比较通分后的分子大小
    if(a1>a2)
    {
        return 1;
    }
    else if(a1==a2)
    {
        return 0;
    }
    else
    {
        return -1;
    }
}
//a1/b1 > a2/b2 -> return 1;
//a1/b1 = a2/b2 -> return 0;
//a1/b1 < a
上一篇:头条测开面试-20210413


下一篇:用函数公式制作旋风图,75.42%的人没想到!