7-24 约分最简分式

7-24 约分最简分式分数可以表示为分子 分母的形式 编写一个程序 要求用户输入一个分数 然后将其约分为最简分式 最简分式是指分子和分母不具有可以约分的成分了 如 6 12 可以被约分为 1 2 当分子大于分母时 不需要表达为整数又分数的形式 即 11 8 还是 11 8 而当分子分母相等时 仍然表达为 1 1 的分数形式 输入格式 输入在一行中给出一个分数 分子和分母中间以斜杠 分隔 如 12 34 表示 34 分之 12 分子和分

分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。

输入格式:

输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。

提示:scanf的格式字符串中加入/,让scanf来处理这个斜杠。

输出格式:

在一行中输出这个分数对应的最简分式,格式与输入的相同,即采用分子/分母的形式表示分数。如 5/6表示6分之5。

输入样例:

66/120 

输出样例:

11/20 

 

主要是找分子和分母的公约数,如果找到则约分,然后继续找;找不到则为最简。

#include 
  
    int main(){ int zi, mu, min, i; scanf("%d/%d", &zi, &mu); min = zi > mu ? mu : zi; for(i = 2; i <= min; i++){ if(zi % i == 0 && mu % i == 0){ zi /= i; mu /= i; min = zi > mu ? mu : zi; i = 1; } } printf("%d/%d", zi, mu); return 0; } 
  

这是我的代码,有两点是比较重要的。第一是条件运算符的运用,第二是写循环的时候一开始以为要用到多层循环,而外层循环的条件又比较难写(因为循环内的语句可能会影响到循环的判断语句),后来想到用一层循环,在if语句内改变外层变量的方法(虽然很简单,但是平时较少会这么写)。

 

后来又在网上找到了更为简洁的写法,这种写法对于题目的认识更为深刻:i直接等于分母,直到i=2,即可保证得到最简分式。因为将分母拆开,不会有相同的因子,最大的因子也不会超过分母。代码如下:

#include 
  
    int main() { int zi,mu,i; scanf("%d/%d", &zi, &mu); for(i = mu; i >= 2; i--){ if(zi % i == 0 && mu % i == 0){ zi = zi / i; mu = mu / i; } } printf("%d/%d", zi, mu); return 0; } 
  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214204.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午4:45
下一篇 2026年3月18日 下午4:45


相关推荐

  • 接口测试用例设计 – 实战篇

    接口测试用例设计 – 实战篇目录一 接口测试流程二 分析接口文档中哪些元素三 如何设计接口测试用例 3 1 为什么要设计测试用例 3 2 设计接口测试用例从哪些方面考虑四 常用的接口测试用例覆盖方法五 接口测试的接口优先级 5 1 优先级针对所有接口 5 2 优先级针对单个接口六 接口测试的设计思路分析七 接口测试返回结果的比较八 实践操作 8 1 接口样例 8 2 接口测试用例设计 8 3 个人对接口的认知一 接口测试流程 1 需求讨论 2 需求评审 3 场

    2026年3月18日
    2
  • idea 自动导入包 快捷键「建议收藏」

    idea 自动导入包 快捷键「建议收藏」IntelliJIDEA自动导入包快捷方式idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置设置idea导入包勾选标注1选项,IntelliJIDEA将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包。勾选标注2选项,IntelliJIDEA将在我们书写代码的时候自动帮我

    2022年5月21日
    1.6K
  • crunch字典生成

    crunch字典生成密码激活成功教程基本有三种方法 第一种是人工猜解 垃圾桶工程和被动信息收集 第二种是基于字典暴力激活成功教程 主流 在 kali 里 是默认自带了字典的 分别放在下面三个文件中 usr share wordlist usr share wfuzz wordlist usr share seclists 有一个 password 第三种是键盘空间字符爆破全键盘空间字符部分键盘空间字符 基于规则 数字 小写字母

    2026年3月19日
    2
  • pycharm 全局搜索没反应

    pycharm 全局搜索没反应修改快捷键占用右键–工具箱–属性设置–高级–系统功能快捷键

    2022年5月31日
    108
  • 致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失

    致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失有人说,世间一切,都是遇见,都是机缘。是啊,因为CSDN,我与很多人成为了好朋友,虽未谋面,但这种默默鼓励、相互分享的感觉真好;因为CSDN,我人生进度条八分之一(十年)的许多故事在这里书写,笔耕不辍,也算不得辜负时光吧;因为CSDN,我更珍惜每一位博友、每一位朋友、每一位老师,解答大家的问题,鼓励考研或找工作失败的人继续战斗;因为CSDN,我认识了女神,并分享了许多我们一家的故事。感恩遇见,不负青春。

    2022年5月30日
    30
  • 腾讯首个全模态模型混元O将发布,正面硬刚DeepSeek和字节豆包|AGI独家

    腾讯首个全模态模型混元O将发布,正面硬刚DeepSeek和字节豆包|AGI独家

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号