• nyoj_111_分数加减法_201311281341


    分数加减法

    时间限制: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
    ",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
    ",0);
    38             else
    39             {
    40                 printf("-");
    41                 printf("%d/%d
    ",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
    ",0);
    50             else
    51             printf("%d/%d
    ",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
    ",t1/a);
    60         else
    61         printf("%d/%d
    ",t1/t2,a/t2);       
    62     }
    63     }
    64     return 0;
    65 }

    简单题

  • 相关阅读:
    进入新的一线开发周期
    某框架的反人类特性
    8月最后一天随想
    jython 2.7 b3发布
    [转] 基于 Apache Mahout 构建社会化推荐引擎
    FreeBSD10上编译尝试DeepIn UI
    PDT已有很大改进
    两张图
    FreeBSD暂时用9.X系列为宜
    backbone教程
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3447833.html
Copyright © 2020-2023  润新知