日期:2014-05-18  浏览次数:20791 次

c#编程如何编出一个构造函数有两个分子分母变量,使初始化时分数保持最简分数形式
如初始为2,4时,输出1/2

------解决方案--------------------
判断分子是否能被分母整除,再处理
------解决方案--------------------
求分子分母的最大公约数,除以这个最大公约数
C# code

class MyClass 
{
    int _a;
    int _b;

    public MyClass(int a, int b)
    {
        int min, max;
        if (a < b)
        {
            min = a;
            max = b;
        }
        else
        {
            min = b;
            max = a;
        }

        while (max % min != 0)
        {
            int temp = max;
            max = min;
            min = temp % min;
        }

        int gcd = min;

        _a = a / gcd;
        _b = b / gcd;
    }

    public void Show()
    {
        Console.WriteLine("{0}/{1}", _a, _b);
    }
}