分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如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

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

#includeint 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,即可保证得到最简分式。因为将分母拆开,不会有相同的因子,最大的因子也不会超过分母。代码如下:

#includeint 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;

}

7-20 约分最简分式c语言,7-24 约分最简分式相关推荐

  1. PTA 基础编程题目集 7-24 约分最简分式 C语言

    PTA 基础编程题目集 7-24 约分最简分式 C语言 分数可以表示为分子/分母的形式.编写一个程序,要求用户输入一个分数,然后将其约分为最简分式.最简分式是指分子和分母不具有可以约分的成分了.如6/ ...

  2. 24点游戏c语言程序代码,C语言实现24点游戏源代码

    本文实例为大家分享了C语言实现24点游戏的具体代码,供大家参考,具体内容如下 将算法实现改成C语言,并可在linux服务器上运行.同时修改为可显示所有结果. 注:如果传参重复,如4,4,7,7这样,会 ...

  3. c语言程序24转换12时间,C语言将24小时制转换为12小时制的方法

    C语言将24小时制转换为12小时制的方法 本文实例讲述了C语言将24小时制转换为12小时制的方法.分享给大家供大家参考.具体实现方法如下: /* * 24小时制转换为12小时制 */ #include ...

  4. C语言学习书籍推荐《学通C语言的24堂课》下载

    下载地址:点我 编辑推荐 <学通C语言的24堂课>: 用持续激励培养良好习惯以良好习惯铸就伟大梦想 --致亲爱的读者朋友 在开始学习<学通C语言的24堂课>的同时,强烈建议读者 ...

  5. 20小时掌握Python语言-欧阳桫-专题视频课程

    20小时掌握Python语言-220人已学习 课程介绍         用短的时间,有趣的案例,黄暴力的方式,带你掌握Python语言 课程收益     掌握Python语言 讲师介绍     欧阳桫 ...

  6. python语言与c语言相比在分支结构上有什么不同_大工20春 C/C 语言程序设计 在线作业3 - 百度文库...

    大工20春<CC++语言程序设计>在线作业3答案 大工20春<C/C++语言程序设计>在线作业3 红字部分为答案! 单选题 1.C语言中,下列合法的字符型常量是(). A.&q ...

  7. 电子科技20秋C语言在线作业3,【奥鹏】[电子科技大学]20秋《C语言》在线作业3...

    [奥鹏][电子科技大学]20秋<C语言>在线作业3 [奥鹏]-电子科技大学20秋C语言在线作业3试卷总分:100 得分:100第1题,下面程序是从键盘输入学号,然后输出学号中百位数字是3的 ...

  8. C语言主题作业2答案,电子科技大20秋《C语言》在线作业2

    20秋<C语言>在线作业26 M4 X/ C/ U/ z9 `3 G 1.[单选题] 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 ...

  9. 20.0、C语言数据结构——图的存储结构

    20.0.C语言数据结构--图的存储结构 图的存储结构相比较线性表与树来说就复杂很多了: 1. 我们回顾下,对于线性表来说,是一对一的关系,所以用数组或者链表均可简单存放:树结构是一对多的关系,所以我 ...

  10. B1039/A1092 到底买不买 (20分)【C语言】

    B1039/A1092 到底买不买 (20分)[C语言] 原题链接 题目描述: 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断 ...

最新文章

  1. python在windows和linux_python在windows和linux下获得本机本地ip地址方法小结
  2. 海尔智慧家庭食联网:为每1个家庭配备专属健康顾问
  3. android事件分发笔记
  4. VTK:隐式布尔值demo用法实战
  5. 想在研发群里装?先学会这几个排查K8s问题的办法
  6. Reactor模型和Proactor模型:同步IO与异步IO
  7. ChaiNext:ETH上行1900上方
  8. Exception in thread main java.lang.NoClassDefFoundError: org/w3c/dom/Eleme
  9. Mac下驱动BCM20702A0 USB蓝牙
  10. python裁剪图片大小
  11. 网络投票中的作弊与反作弊
  12. MySQL 中STD、STDDEV、STDDEV_SAMP 标准差函数的区别
  13. 新一代消息中间件—Apache Pulsar
  14. 强化学习算法:AC系列详解
  15. 解决Docker下载镜像速度太慢
  16. opencv 读取双摄自动对齐参数intrinsics.yml、extrinsics.yml 2021-04-12
  17. kitty猫的基因编码
  18. 北京圣思园视频下载及时跟新
  19. Dev C++的安装以及基本使用方法
  20. java多线程实现龟兔赛跑

热门文章

  1. JSP常用内置对象方法
  2. tas5707php,TAS5707PHPR 立体声数字音频功率放大器
  3. Python爬虫学习之scrapy框架(一)爬取豆瓣图书榜
  4. 教你做一个最简版的倒计时计时器,新手也能秒懂。
  5. Origin画并列柱状图
  6. 新冠病毒做进化树covidseq
  7. 电脑html5播放黑屏,电脑看视频黑屏,教您电脑看视频黑屏有声音怎么办
  8. service服务程序
  9. getvod.php_飞飞影视系统飞飞cms2.8标签大集合
  10. git add 后git reset --hard xxx的代码丢失,代码如何找回