分数加减法

时间限制: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
来源
水题比赛
上传者
hzyqazasdf
 1 #include <stdio.h>
 2
 3 int gcd(int a,int b)
 4 {
 5     int i,t;
 6     if(a>b)
 7     {
 8         t=a;a=b;b=t;
 9     }
10     while(a)
11     {
12         i=a;
13         a=b%a;
14         b=i;
15     }
16     return b;
17 }
18
19 int main()
20 {
21     char s[10];
22     while(gets(s))
23     {
24         int i;
25         int a,b1,b2;
26         int t1,t2;
27         //printf("%d\n",gcd(6,4));
28         a=(s[2]-'0')*(s[6]-'0')/gcd((s[2]-'0'),(s[6]-'0'));
29         b1=a/(s[2]-'0')*(s[0]-'0');
30         b2=a/(s[6]-'0')*(s[4]-'0');
31         if(s[3]=='-'){
32         if(b1<b2)
33         {
34             t1=b2-b1;
35             t2=gcd(t1,a);
36             if(t1==0)
37             printf("%d\n",0);
38             else
39             {
40                 printf("-");
41                 printf("%d/%d\n",t1/t2,a/t2);
42             }
43         }
44         else
45         {
46             t1=b1-b2;
47             t2=gcd(t1,a);
48             if(t1==0)
49             printf("%d\n",0);
50             else
51             printf("%d/%d\n",t1/t2,a/t2);
52         }
53     }
54     else
55     {
56         t1=b2+b1;
57         t2=gcd(t1,a);
58         if(t1%a==0)
59         printf("%d\n",t1/a);
60         else
61         printf("%d/%d\n",t1/t2,a/t2);
62     }
63     }
64     return 0;
65 }

简单题

转载于:https://www.cnblogs.com/xl1027515989/p/3447833.html

nyoj_111_分数加减法_201311281341相关推荐

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

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

  2. poj 3979 分数加减法

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

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

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

  4. 五年级上册分数计算机,分数计算题 五年级上册分数加减法计算题(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 ...

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

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

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

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

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

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

  8. nyoj 分数加减法

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

  9. 科学计算机怎么算分数加减,《如何提高五年级学生异分母分数加减法计算正确率》...

    数学五年级教材中的异分母分数加减法计算,难度增加了.不少学生出现了计算能力差,计算速度慢,计算错误率偏高的问题.引导学生动手操作.自主探索,不仅是转变学生数学学习方式的需要,也是学生发现算理,理解算理 ...

最新文章

  1. linux下的shell编程
  2. html怎么用ui打开,HTML5教程 如何使用原生UI
  3. C# 值类型与引用类型的详解
  4. HTML中淡入的动画效果,CSS3实现页面淡入动画特效代码
  5. mysql 子查询 博客_mysql——多表——子查询——示例
  6. 如何更好地理解和应用ITIL
  7. 如何在一个元素上有多个CSS过渡?
  8. python基础教程是什么-Python基础教程_Python入门知识
  9. LeetCode-144-Binary Tree Preorder Traversal
  10. 58移动开发 App 工厂
  11. [译] 用行为经济学来传达付费应用订阅的价值
  12. 有限单元法(The Finite Element Method)
  13. Word参考文献交叉引用——连续多项引用
  14. 用Keil+CMSIS DAP调试NXP S32系列单片机时遇到的问题
  15. 常用合同范本大全|全部是合同,多学学吧。以后少吃亏。
  16. Chrome浏览器清除页面js文件缓存的方法
  17. matlab accuracy 存,matlab 绘制caffe accuracy与loss曲线
  18. hdu5833 Zhu and 772002 (高斯消元的简单应用)
  19. JavaSE基础笔记——字符串常用类/ArrayList(集合)
  20. 朋友圈gys是什么意思,女生微信朋友圈说说经典句子

热门文章

  1. JS面向对象——Object对象的方法补充、原型继承关系图
  2. 指令系统——数据存放、指令寻址(详解)
  3. LeetCode 272. 最接近的二叉搜索树值 II(栈+优先队列)
  4. LeetCode 252. 会议室(排序)
  5. LeetCode 38. 报数
  6. LeetCode 892. 三维形体的表面积(数学)
  7. 迷宫搜索问题最短路_【算法常用模板】总结(更新中)
  8. 鸿蒙系统怎么换windows,求助~鸿蒙系统windows环境搭建(hpm-cli安装失败)!
  9. Power BI连接MySQL 提示错误......未能加载文件或程序集......或它的某一个依赖项
  10. android 修改系统参数设置,2021-05-15 [RK3399][Android7.1] 调试笔记 ---显示参数动态设置接口...