Đề bài: nhập vào tử số, mẫu số (khác 0) của một phân số. Hãy rút gọn phân số này. Chú ý chọn dạng xuất thích hợp trong trường hợp mẫu số bằng 1 và phân số có dấu.
Gợi ý: để rút gọn một phân số, chia cả tử số và mẫu số cho UCLN của tử số và mẫu số.
Bài giải:
#include <stdio.h>
int UCLN(int a,int b){
if (a%b!=0)
return UCLN(b,a%b);
else
return b;
}
int main(){
int t,m;
printf("nhap phan so: ");
scanf("%d%d",&t,&m);
printf("phan so vua nhap: %d/%d\n",t,m);
int ucln = UCLN(t,m);
t=t/ucln;
m=m/ucln;
if (m!=1)
{
if (m<0){
m=m*-1;
t=t*-1;
}
printf("rut gon: %d/%d",t,m);
}
else{
printf("rut gon: %d",t);
}
return 0;
}