码迷,mamicode.com
首页 > 其他好文 > 详细

分数运算

时间:2018-01-15 18:43:25      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:abs   blog   www.   space   min   tps   using   while   ble   

题目: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\n", a / c, b / c);
53     }
54     return 0;
55 }

 

分数运算

标签:abs   blog   www.   space   min   tps   using   while   ble   

原文地址:https://www.cnblogs.com/jaydenouyang/p/8289067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!