Eivae 2020-01-29 17:44 采纳率: 80%
浏览 1959
已采纳

请问如何编写一个用户输入一个分数输出最简分式的C语言程序呀?

编写程序,要求用户输入一个分数,然后将其约分为最简式。如:
输入一个分数:8/12
最简分式:2/3

  • 写回答

2条回答 默认 最新

  • 「已注销」 2020-01-29 18:34
    关注

    我的思路是求出分子分母的最大公因数,分子分母同时除以最大公因数便得到了最简的分子与分母,代码如下:

    
    
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int a,b,x,y,c;
        printf("输入一个分式:");
        scanf("%d/%d",&a,&b);
        if(a<b)
        {
           x=b;y=a;
        }
        else
        {
            x=a;y=b;
        }
        c=x%y;
        while(c)
        {
            x=y;
            y=c;
            c=x%y;
        }
        if(b/y!=1)
        printf("最简分式为:%d/%d",a/y,b/y);
        else
        printf("最简分式为:%d",a/y);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问1553 RT怎么测试,没有BC有方法吗
  • ¥100 业务编程如何选择学习方向和内容?
  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 【有偿】调用DXGI截图初始化失败,提示0xf 887a0004
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复
  • ¥15 学校优化算法sbo和蚁群算法怎么结合
  • ¥21 matlab怎么求时域信号的二阶导数