分数加减法

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 2
描述
编写一个C程序,实现两个分数的加减法

输入
输入包含多行数据 
每行数据是一个字符串,格式是"a/boc/d"。 
其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。

数据以EOF结束 
输入数据保证合法

输出
对于输入数据的每一行输出两个分数的运算结果。 
注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数
样例输入
1/8+3/8
1/4-1/2
1/3-1/3
样例输出
1/2
-1/4
0

题目大意:求分数的加减法
思路:用最大公约数化简,注意分母不能为1,0的话只输出一个0,最简分数形式,
2014,12,5

#include<stdio.h>
#include<string.h>
int gcd(int a,int b){return !b? a:gcd(b,a%b);
}
int main(){int a,b,c,d,x,y,z,k;char o;while(scanf("%d/%d%c%d/%d",&a,&b,&o,&c,&d)!=EOF){if(b==0||d==0) break;else{x=b*d/gcd(b,d);a=a*(x/b);c=c*(x/d);if(o=='+'){y=a+c;z=gcd(y,x);if(x/z!=1)printf("%d/%d\n",y/z,x/z);else printf("%d\n",y/z);}else{y=a-c;if(y>0) {z=gcd(y,x);if(x/z!=1)printf("%d/%d\n",y/z,x/z);else printf("%d\n",y/z);}else if(y==0) printf("0\n");else{k=-y;z=gcd(k,x);if(x/z!=1)printf("%d/%d\n",y/z,x/z);else printf("%d\n",y/z);}}}}return 0;
}

nyoj 111 分数加减法相关推荐

  1. nyoj 分数加减法

    分数加减法 难度: 2 描述 编写一个C程序,实现两个分数的加减法 输入 输入包含多行数据 每行数据是一个字符串,格式是"a/boc/d". 其中a, b, c, d是一个0-9的 ...

  2. # 异运算_小学数学整数、小数、分数加减法运算法则及练习(可打印)

    很多孩子的数学不好,尤其是女孩子.家长往往认定为数学不好就是孩子不擅长,能力差. 其实未必,有的孩子数学不好的原因并不在于智商,而是没有理解到数学的方法与逻辑.比如小学的运算中,很多孩子并没有了解到运 ...

  3. nyoj_111_分数加减法_201311281341

    分数加减法 时间限制:3000 ms  |           内存限制:65535 KB 难度:2 描述 编写一个C程序,实现两个分数的加减法 输入 输入包含多行数据 每行数据是一个字符串,格式是& ...

  4. poj 3979 分数加减法

    分数加减法 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8801   Accepted: 2798 Description ...

  5. POJ3979 分数加减法【水题】

    分数加减法 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18176 Accepted: 5643 Description 编写 ...

  6. 五年级上册分数计算机,分数计算题 五年级上册分数加减法计算题(100道)

    题目: 五年级上册分数加减法计算题(100道)有口算,也要有脱式计算 解答: (1)6/14+7/14= (2)2/13+5/13= (3)6/15+9/15= (4)6/14+1/14=(5)4/1 ...

  7. java编写分数加减法_JAVA 分数加减法

    分数加减法 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 编写一个C程序,实现两个分 ...

  8. 分数加减法 java,Java——分数加减法

    分数加减法 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 编写一个C程序,实现两个分数的加减法 Input 输入包含多 ...

  9. 分数加减法 java,Java练习 SDUT-2253_分数加减法

    ###分数加减法 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 编写一个C程序,实现两个分数的加减法 #### ...

最新文章

  1. PX4多机ros仿真报错
  2. ar路由器 pppoe下发ipv6 dns_移动宽带如何获取IPV6地址
  3. dax 计算某一列重复出现次数
  4. 装linux服务器进去配置界面,在CentOS 8 Linux上安装和配置SuiteCRM的步骤
  5. phpcms导航高亮:“首页” 高亮显示(含代码、截图、案例)
  6. 10年前腾讯微信后台第一天提交的代码曝光;苹果App Store佣金抽成再做让步;TypeScript 4.1发布|极客头条...
  7. 开源小工具 酷狗、网易音乐缓存文件转mp3工具
  8. java log4j 多线程_针对log4j 1.2.15中的并发锁问题,到底是io瓶颈,还是锁竞争导致线程block?...
  9. json数组转java集合
  10. 阿里云主机(ECS)入门(图文说明)详细了解
  11. android点歌系统代码
  12. 群晖服务器显示灯,【群晖 DS119j 单盘位NAS 网络存储服务器使用总结】功能|配置|机身|指示灯_摘要频道_什么值得买...
  13. MySQL命令行中文显示乱码解决
  14. 详解Unity中的粒子系统Particle System (四)
  15. 高通android充电常用问题,高通平台android9.0充电电量,充电指示灯以及充电图标读取分析...
  16. 微信小程序开发数据缓存基础知识辨析以及运用实例
  17. 涉嫌一级强奸重罪之后,危险的刘强东和京东
  18. 论文研读 —— 7. Very Deep Convolutional Networks for Large-Scale Image Recognition (2/3)
  19. Ubuntu下Logi MX Ergo自定义按键
  20. .net mvc 网站 css 和 js 文件加载不出来的问题

热门文章

  1. java jedispool实例_通过JedisPool获取Jedis示例
  2. vue如何判断数组是否为空
  3. 苹果7支持快充吗_苹果iphone12防水防摔吗 iphone12系列支持IP68防水吗
  4. 民生银行大数据体系架构设计与演进
  5. 函数周期表丨时间丨值丨WEEKDAYWEEKNUM
  6. elementUI 中 table表格 图片 放大
  7. net微服务框架/c#/netcore微服务框架,一个轻量级的.Net 5.0微服务开发框架,同时也适用于单体架构系统的开发
  8. nginx之queue
  9. c语言tarjan算法,无向图求割点和割边——Tarjan算法
  10. rxjs angular_RxJS和Angular —像专业人士一样退订