Bài toán:
Khai báo cấu trúc PhanSo cần thiết lưu trữ thông tin phân số, sau đó thực hiện các chức năng:
- Viết hàm nhập vào phân số.
- Viết hàm xuất phân số.
- Kiểm tra phân số mẫu phải khác 0.
- Viết hàm tối giản phân số.
- Nhập vào 2 phân số. Tính tổng, hiệu, tích và thương của hai phân số.
Xử lý bài toán:
Khai báo thư viện
#include<stdio.h> #include<conio.h> #include<math.h>
Khai báo struct phân số
struct phanso
{
int tu;
int mau;
};
Khai báo các hàm cần sử dụng
void nhapphanso(phanso &ps); void xuatphanso(phanso ps); int ULCN(int a, int b); void rutgon(phanso &ps); phanso tongps(phanso x,phanso y); phanso hieups(phanso a,phanso b); phanso tichps(phanso a,phanso b); phanso thuongps(phanso a,phanso b);
Viết hàm nhập
void nhapphanso(phanso &ps)
{
printf("\nNhap vao tu so ");
scanf("%d",&ps.tu);
do
{
printf("\nNhap vao mau so ");
scanf("%d",&ps.mau);
if(ps.mau==0)
printf("\nMau phai khac khong\nVui long kiem tra lai");
}while(ps.mau==0);
}
Viết hàm xuất
void xuatphanso(phanso ps)
{
printf("Phan so: %d / %d",ps.tu,ps.mau);
}
Viết hàm tìm ước chung lớn nhất
int UCLN(int a, int b)
{
a=abs(a);
b=abs(b);
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
Viết hàm tối giản phân số
void rutgon(phanso &ps)
{
int c=UCLN(ps.tu,ps.mau);
ps.tu=ps.tu/c;
ps.mau=ps.mau/c;
}
Viết hàm tính tổng
phanso tongps(phanso a,phanso b)
{
phanso tong;
tong.tu=a.tu*b.mau+b.tu*a.mau;
tong.mau=a.mau*b.mau;
rutgon(tong);
return tong;
}
Viết hàm tính hiệu
phanso hieups(phanso a,phanso b)
{
phanso h;
h.tu=a.tu*b.mau-b.tu*a.mau;
h.mau=a.mau*b.mau;
rutgon(h);
return h;
}
Viết hàm tính tích
phanso tichps(phanso a,phanso b)
{
phanso tich;
tich.tu=a.tu*b.tu;
tich.mau=a.mau*b.mau;
rutgon(tich);
return tich;
}
Viết hàm tính thương
phanso thuongps(phanso a,phanso b)
{
phanso thuong;
thuong.tu=a.tu*b.mau;
thuong.mau=a.mau*b.tu;
rutgon(thuong);
return thuong;
}
Hàm main
void main()
{
phanso x,y;
printf("\nNhap phan so thu nhat ");
nhapphanso(x);
xuatphanso(x);
printf("\nNhap phan so thu 2");
nhapphanso(y);
xuatphanso(y);
phanso tong= tongps(x,y);
printf("\n tong ");
xuatphanso(tong);
phanso hieu=hieups(x,y);
printf("\nHieu ");
xuatphanso(hieu);
phanso tich=tichps(x,y);
printf("\nTich ");
xuatphanso(tich);
phanso thuong=thuongps(x,y);
printf("\nThuong ");
xuatphanso(thuong);
getch();
}
Xem thêm: Mảng Struct và ví dụ ứng dụng
Chúc các bạn thành công!






![[ASP.NET Core MVC] – Hướng dẫn tạo View p3](https://sinhvientot.net/wp-content/uploads/2019/01/Bitmap-MEDIUM_ASP.NET-Core-MVC-Logo_2colors_Square_Boxed_RGB-218x150.png)


















