zoukankan      html  css  js  c++  java
  • NYOJ 111 分数加减法

    分数加减法

    时间限制: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  
     2 #include<cstdio>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<string.h>
     6 #define swap(a,b) {temp=a;a=b;b=temp;}
     7 int a,b,c,d,temp;
     8 int gotit(int a,int b)
     9 {
    10     if(a<b)
    11         swap(a,b);
    12     while(b)
    13     {
    14         temp=b;
    15         b=a%b;
    16         a=temp;
    17     }
    18     return a;
    19 }
    20 void yuris()
    21 {
    22     int s=gotit(c,d);
    23     if(s==1)
    24         return;
    25     c/=s;
    26     d/=s;
    27     if(d<0)
    28     {
    29         c=-c;
    30         d=-d;
    31     }
    32 }
    33 int main()
    34 {
    35     char fuhao;
    36     while(~scanf("%d/%d%c%d/%d",&a,&b,&fuhao,&c,&d))
    37     {
    38         if(b!=d)
    39         {
    40             temp=b;
    41             b=b*d;
    42             a=a*d;
    43             d=d*temp;
    44             c=c*temp;
    45         }
    46         if(fuhao=='+')
    47             c=a+c;
    48         else
    49             c=a-c;
    50         if(c==0)
    51             printf("0
    ");
    52         else
    53         {
    54             yuris();
    55             if(d!=1)
    56                 printf("%d/%d
    ",c,d);
    57             else
    58                 printf("%d
    ",c);
    59         }
    60     }
    61     return 0;
    62 }
    63         
  • 相关阅读:
    ThreadLocal的原理和使用场景
    sleep wait yield join方法的区别
    GC如何判断对象可以被回收
    双亲委派
    ConcurrentHashMap原理,jdk7和jdk8版本
    hashCode和equals
    接口和抽象类区别
    为什么局部内部类和匿名内部类只能访问局部final变量
    【GAN】基础GAN代码解析
    TF相关codna常用命令整理
  • 原文地址:https://www.cnblogs.com/caterpillarofharvard/p/4230463.html
Copyright © 2011-2022 走看看