用C语言解决一个约分问题

约分
编写程序,要求用户输入一个分数,然后将其约分为最简式。如:

输入一个分数:8/12

最简分式:2/3


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b, x, y, c;
    printf("输入一个分式:");
    scanf("%d/%d", &a, &b);
    if (a < b)
    {
        x = b;
        y = a;
    }
    else
    {
        x = a;
        y = b;
    }
    c = x % y;
    while (c)
    {
        x = y;
        y = c;
        c = x % y;
    }
    if (b / y != 1)
        printf("最简分式为:%d/%d", a / y, b / y);
    else
        printf("最简分式为:%d", a / y);
    return 0;
}

#include "stdio.h"
int main() {
    int x, y, r, a, b;
    scanf("%d/%d", &x, &y);
    if ((a = x) && (b = y)) {
        while (r = a % b) {
            a = b;
            b = r;
        }
        printf("%d", x / b);
        if ((y /= b) != 1)
            printf("/%d", y);
        printf("\n");
    }
    else if (x == 0)
        printf("0\n");
    else if (y == 0)
        printf("No solution...\n");
    return 0;
}

img