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)


















