struct fraction_t { int x; int y; }; typedef struct fraction_t (FRACTION); FRACTION reduce_fraction(FRACTION fraction) { FRACTION val = fraction; int i, success = 0; while (success != 1) { success = 1; for (i = 2; i < val.y; i++) { if ((val.x % i) == 0 && (val.y % i) == 0) { val.x = val.x / i; val.y = val.y / i; success = 0; break; } } } return val; } int main(int argc, char* argv[]) { printf("Input Numbers (x / y): "); scanf("%d / %d", &num1, &num2); FRACTION inf; inf.x = num1; inf.y = num2; FRACTION outf = reduce_fraction(inf); printf("%d / %d\n", outf.x, outf.y); return 0; }