分数比较
程序员文章站
2024-01-14 09:02:16
...
题目内容:
本题要求编写程序,比较两个分数的大小。
输入格式:
输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是int类型范围内的正整数。
输出格式:
在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。
注意在关系符前后各有一个空格。
输入样例:
1/2 3/4
输出样例:
1/2 < 3/4
#include<stdio.h>
int main()
{
int fz1,fz2,fm1,fm2;
scanf("%d/%d %d/%d",&fz1,&fm1,&fz2,&fm2);
int m = fm1,n = fm2;
if( m > n){
int t = m;
m = n;
n = m;
}
int r = n%m;
while( r ){ //辗转相除法 求最大公约数
n = m;
m = r;
r = n%m;
}
int ans = fm1*fm2/m; //最小公倍数
int minus = ans/fm1*fz1-ans/fm2*fz2;
printf("%d/%d ",fz1,fm1);
if( minus == 0 ){
printf("=");
} else if( minus > 0 ){
printf(">");
}else{
printf("<");
}
printf(" %d/%d\n",fz2,fm2);
return 0;
}