#include typedef struct rational { int a; int b; } RATIONAL; RATIONAL add(RATIONAL x, RATIONAL y){ RATIONAL z; z.a = (x.a * y.b) + (y.a * x.b); z.b = x.b * y.b; return z; } void print_r(RATIONAL x){ printf("%d/%d", x.a, x.b); } int main(void){ RATIONAL x, y, z; printf("有理数 x の分子と分母を入力してください:"); scanf("%d %d", &(x.a), &(x.b)); printf("有理数 y の分子と分母を入力してください:"); scanf("%d %d", &(y.a), &(y.b)); z = add(x,y); print_r(x); printf(" + "); print_r(y); printf(" = "); print_r(z); printf("\n"); return 0; }