zoukankan      html  css  js  c++  java
  • 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 }

    简单题

  • 相关阅读:
    2014-11-24 作业
    数据库查询基本部分
    SQL备份还原,分离附加
    SQL基础2
    SQL基础,与数据类型;
    if语句解一元二次方程~
    用C语言计算圆的面积~!!!!!!!
    C语言基础
    数据导出和TreeView
    MDI窗体容器和权限设置
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3447833.html
Copyright © 2011-2022 走看看