早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言编程分数比较(10分)题目内容:本题要求编写程序,比较两个分数的大小。输入格式:输入在一行中按照“a1/b1a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是int类型范

题目详情
C语言编程
分数比较(10分)题目内容:
本题要求编写程序,比较两个分数的大小。
输入格式:
输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是int类型范围内的正整数。
输出格式:
在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“注意在关系符前后各有一个空格。
输入样例:
1/2 3/4
输出样例:
1/2 < 3/4
时间限制:500ms内存限制:32000kb
▼优质解答
答案和解析

得到如下代码:

#include <stdio.h>
int gcd(int a, int b)
{
    return b == 0 ? a : gcd (b, a%b);
}
int lcm(int a, int b)
{
    return a/gcd(a, b)*b;
}
int main()
{
    int a1, b1, a2, b2, lb;
    while (scanf ("%d/%d %d/%d", &a1, &b1, &a2, &b2) != EOF){
        lb = lcm(b1, b2);
        if (lb/b1*a1 > lb/b2*a2){
            printf ("%d/%d > %d/%d", a1, b1, a2, b2);
        }
        else if (lb/b1*a1 < lb/b2*a2){
            printf ("%d/%d < %d/%d", a1, b1, a2, b2);
        }
        else {
            printf ("%d/%d = %d/%d", a1, b1, a2, b2);
        }
    }
}
看了C语言编程分数比较(10分)题...的网友还看了以下: