c언어 구조체 분수 합 질문입니다.
조회수 1060회
#include<stdio.h>
struct Fraction
{
int n1;
int m1;
};
struct Fraction addFraction(struct Fraction f1, struct Fraction f2);
void trim(struct Fraction x);
int main()
{
struct Fraction f1, f2, f3;
while(1)
{scanf("%lf %lf %lf %lf", &f1.n1, &f1.m1, &f2.n1, &f2.m1);}
trim(f3 = addFraction(f1, f2));
printf("%d/%d", f3.n1, f3.m1);
}
struct Fraction addFraction(struct Fraction f1, struct Fraction f2)
{
struct Fraction f3;
f3.m1 = f1.m1 * f2.m1;
f3.n1 = (f2.m1 * f1.n1) + (f1.m1 * f2.n1);
return f3;
}
void trim(struct Fraction x)
{
int down = x.n1;
int up = x.m1;
int com, i;
if (x.n1 > x.m1)
{
down = x.m1;
up = x.n1;
}
for (i = 1; i <= down; i++)
if ((down % i) == 0 && (up % i) == 0)
com = i;
x.n1 /= com;
x.m1 /= com;
}
분모가 0인 분수가 입력될 때까지 분수들을 입력 받아 마지막 분수를 제외한 분수들 의 합을 출력하는 프로그램을 만들고 싶은데 어디를 수정해야 할지 어렵습니다.
수정 부탁드립니다 감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력