Lập trình căn bản C: Rút gọn phân số


Đề 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;
}

Bài liên quan

Bài liên quan