PTA 7-24 約分最簡分式 (15分)


7-24 約分最簡分式 (15分)

分數可以表示為分子/分母的形式。編寫一個程序,要求用戶輸入一個分數,然后將其約分為最簡分式。最簡分式是指分子和分母不具有可以約分的成分了。如6/12可以被約分為1/2。當分子大於分母時,不需要表達為整數又分數的形式,即11/8還是11/8;而當分子分母相等時,仍然表達為1/1的分數形式。

 

 

#include <stdio.h>
#include <stdlib.h>

int gys(int m, int n); 
int main()
{
    int a, b;
    scanf("%d/%d", &a, &b);
    int p = gys(a,b);
    if(a != 0 && b!= 0)
    {
        if(b%a == 0) 
        {
            int x = b/a;
            b = x;
            a = 1;
            printf("%d/%d",a,b);
        }
        else if(a%b == 0) 
        {
            int x = a/b;
            b = 1;
            a = x;
            printf("%d/%d",a,b);
        }
        else if(p > 1)
        {
            a = a/p;
            b = b/p;
            printf("%d/%d",a,b);
        }
        else
        {
            printf("%d/%d",a,b);
        }
    }
    else
    {
        printf("INCORRECT INPUT!");
    }
    return 0;
}

int gys(int m, int n)
{
    int rest = m%n;
    while(rest != 0)
    {
        m = n;
        n = rest;
        rest = m % n;
    }
    return n;
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM