N/x: Bài xử lí 2 phân số
code
#include<stdio.h>
typedef struct phan
{
int tu;
int mau;
} phanso ;
phanso nhap()
{
phanso a;
do
{
printf("nhap phan so dang a/b (b !=0): ");
scanf("%d%*c",&a.tu);
scanf("%d",&a.mau);
}while(a.mau==0);
return a;
}
void in(phanso a)
{
printf("phan so la:%d/%d",a.tu,a.mau);
}
phanso rutgon(phanso a)
{
int r,at,bm;
at=a.tu;
bm=a.mau;
r=at%bm;
while(r!=0)
{
at=bm;
bm=r;
r=at%bm;
}
a.tu=a.tu/bm;
a.mau=a.mau/bm;
return a;
}
phanso cong(phanso a, phanso b)
{
phanso c;
c.tu=a.tu+b.tu;
c.mau=a.mau+b.mau;
rutgon(c);
return c;
}
phanso tru(phanso a, phanso b)
{
phanso c;
c.tu=a.tu-b.tu;
c.mau=a.mau-b.mau;
rutgon(c);
return c;
}
phanso nhan(phanso a, phanso b)
{
phanso c;
c.tu=a.tu*b.tu;
c.mau=a.mau*b.mau;
rutgon(c);
return c;
}
phanso chia(phanso a, phanso b)
{
phanso c;
c.tu=a.tu*b.mau;
c.mau=a.mau*b.tu;
return c;
}
void main()
{
phanso a,b;
a=nhap();
b=nhap();
in(a);
in(b);
a=rutgon(a);
b=rutgon(b);
in(a);
in(b);
in(cong(a,b));
in(tru(a,b));
in(chia(a,b));
in(nhan(a,b));
}