###分数加减法 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description

编写一个C程序,实现两个分数的加减法 ####Input

输入包含多行数据 每行数据是一个字符串,格式是"a/boc/d"。

其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。

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

####Output 对于输入数据的每一行输出两个分数的运算结果。 注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数 ####Sample Input

1/8+3/8 1/4-1/2 1/3-1/3

####Sample Output

1/2 -1/4 0

题解:同分计算分数的结果然后找分子分母的最大公因子约分化简。注意分子为0以及分子是分母的倍数的时候。

import java.util.*;

public class Main

{

public static void main(String[] args)

{

Scanner cin = new Scanner(System.in);

String s;

node a = new node();

while(cin.hasNextLine())

{

s = cin.nextLine();

a.ji(s);

}

cin.close();

}

}

class node

{

int a,b,c,d;

void get(String s)

{

a = s.charAt(0) - '0';

b = s.charAt(2) - '0';

c = s.charAt(4) - '0';

d = s.charAt(6) - '0';

}

void ji(String s)

{

int q,w,e;

get(s);

if(s.charAt(3)=='-')

{

w = b * d;

q = a * d - c * b;

}

else

{

w = b * d;

q = a * d + c * b;

}

if(q==0)

System.out.println(0);

else

{

e = gcd(w,q);

if(w/e==1)

System.out.println(q/e);

else

System.out.printf("%d/%d\n",q/e,w/e);

}

}

int gcd(int a,int b)

{

if(a<0)

a = -a;

if(b<0)

b = -b;

return b==0?a:gcd(b,a%b);

}

}

分数加减法 java,Java练习 SDUT-2253_分数加减法相关推荐

  1. Java黑皮书课后题第7章:7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入结束。假设最高分是100

    7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的.输入一个负数表示输入结束.假设最高分是100 题目 题目描述 破题 代码 运 ...

  2. java用switch语句根据分数输出学生等级

    java用switch语句根据分数输出学生等级 /*** 从键盘上输入分数,计算等级grade=score/10;* <60,不及格,继续努力!* 60-69,及格,仍需努力!* 70-79,一 ...

  3. java毕业设计——基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码)——愤怒的小鸟游戏

    基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Java awt+swing的愤怒的小鸟游戏设计与实现,文章末尾附有本毕 ...

  4. java毕业设计——基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码)——俄罗斯方块游戏

    基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Java ME的无线网络移动端的俄罗斯方块游戏设计与实现,文章末尾附有 ...

  5. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)

    MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...

  6. 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置

    1.课程名称:Java发展及JDK配置 本季介绍了JAVA的发展过程,包括JDK的发展历程,path路径的配置和classpath的配置及作用.并简单讲解了一个简单的JAVA程序,并通过此程序讲解了J ...

  7. Java - Java集合中的安全失败Fail Safe机制 (CopyOnWriteArrayList)

    文章目录 Pre 概述 fail-safe的容器-CopyOnWriteArrayList add remove函数 例子 缺陷 使用场景 Pre Java - Java集合中的快速失败Fail Fa ...

  8. Java - Java集合中的快速失败Fail Fast 机制

    文章目录 什么是 fail-fast 源码解读 Itr 为什么对集合的结构进行修改会发生并发修改异常-源码分析 修改方法之 remove 修改方法之 add 案例分享 [案例一] [案例二] [案例三 ...

  9. java比python难_python java JAVA比python难多少?

    python和java哪个好? 学python好还是java好一次一次的失望后来渐渐放弃,哪怕后来有人提起你的名字小编脸上也不会泛起红晕. Python Python是一种面向对象的解释型计算机程序设 ...

  10. [Jmeter]通过批处理调用java,java从CSV动态读取登录的用户名和密码,并将其作为参数组合成字符串,写入外部.bat文件,然后通过Java执行这个外部批处理文件...

    问题1:怎样通过批处理调用java代码? 问题2:怎样通过java从CSV文件获取到用户名和密码存入变量? 问题3:怎样将获取到的用户名和密码组合成字符串,写入外部批处理文件? 问题4:怎样在批处理文 ...

最新文章

  1. TOJ 3750: 二分查找
  2. c#如何读取相机手机的拍摄时间
  3. 【最小割】HDU 3987 Harry Potter and the Forbidden Forest
  4. 将“100px” 转换为100
  5. android 不同型号的终端的UI适配--一种解决方法
  6. 前端 重构时需要注意的事项_前端数据层落地实践
  7. jakarta ee_MicroProfile在Jakarta EE时代的作用
  8. Java十六进制浮点文字
  9. 【渝粤教育】国家开放大学2019年春季 0691-22T物理化学及实验 参考试题
  10. 【开发者成长】喧哗的背后:Serverless 的挑战
  11. matlab采样序列幅频特性,数字信号处理课设计指导书20130530.doc
  12. nodeJS 视频教程
  13. DeepMatch交友机器人:原来姹紫嫣红开遍,缘来就是你
  14. Maven下载及安装
  15. matlab绘制vti群速度,VTI介质中P波相速度与群速度的比较
  16. 三种迭代法解方程组(雅可比Jacobi、高斯-赛德尔Gaisi_saideer、逐次超松弛SOR)
  17. 搜狐号按作者火车头采集规则
  18. 最新美团java开发3轮技术面+hr面 点评(总结分析)
  19. 大数据因果推理与学习入门综合概述
  20. K线类型识别—单K线之同价线

热门文章

  1. 【文本数据挖掘】中文命名实体识别:HMM模型+BiLSTM_CRF模型(Pytorch)【调研与实验分析】
  2. rock64安装docker
  3. 计算机常用端口号一览表,计算机常用端口一览表
  4. pythonw是什么意思_Python3中的真值测试
  5. acl中的反掩码,acl掩码匹配规则
  6. 米联客含协议栈.dcp的工程仿真
  7. Axhub Charts学习记录贴-渐变色
  8. windows10 修改用户名全局生效--最有效快速的办法
  9. ArcGIS数字地形分析
  10. 《酷玩》——畅玩游戏,尽享应用,探索无限可能!