• 分数运算


    题目:https://www.nowcoder.com/pat/2/problem/261

     1 #include <cstdio>
     2 #include <algorithm>
     3 #include <cmath>
     4 using namespace std;
     5 #define max(x,y) x>y?x:y
     6 #define min(x,y) x<y?x:y
     7 
     8 int main(){
     9     int a, b, c, d;
    10     char ch;
    11     while (scanf("%d/%d %d/%d %c",&a,&b,&c,&d,&ch) != EOF){
    12         if (ch == '+'){
    13             a = a*d + c*b;
    14             b = b*d;
    15         }
    16         else if (ch == '-'){
    17             a = a*d - c*b;
    18             b = b*d;
    19         }
    20         else if (ch == '*'){
    21             a = a*c;
    22             b = b*d;
    23         }
    24         else if (ch == '/'){
    25             int t = c;
    26             c = d;
    27             d = t;    
    28             a = a*c;
    29             b = b*d;
    30         }
    31 
    32         int a1 = 1;
    33         int b1 = 1;
    34         if (a < 0)
    35             a1 = 0;
    36         if (b < 0)
    37             b1 = 0;
    38         int c1 = a1 + b1;
    39         a = abs(a);
    40         b = abs(b);
    41         c = max(a, b);    //被除数
    42         d = min(a, b);    //除数
    43         while (d){
    44             int t = c / d;
    45             int v = c%d;
    46             c = d;
    47             d = v;
    48         }
    49         if (c1 == 1){
    50             printf("-");
    51         }
    52         printf("%d/%d
    ", a / c, b / c);
    53     }
    54     return 0;
    55 }
  • 相关阅读:
    iOS App之间跳转
    iOS 编码转换
    iOS文件类型判断
    iOS 运行时
    libqrencode生成二维码
    设置app的启动图
    根据字体计算CGRect
    iOS 英文学习
    libev 中IO事件循环解析
    libev 默认事件循环初始化的解析
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/8289067.html
Copyright © 2020-2023  润新知