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;
}