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

结构-05. 有理数均值(20)

时间:2015-02-20 00:06:32      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

题目名称:

《C/C++/Java/Pascal 程序设计基础》习题集

结构-05. 有理数均值(20)

 

 1 #include <cstdio>
 2 
 3 int gcd(int p,int q)
 4 {
 5     if(q==0)
 6        return p;
 7     int r = p%q;
 8     return gcd(q,r);
 9 }
10 
11 int main()
12 {
13     int n,a,b,com;
14     scanf("%d",&n);
15     int up=1,dn=1;//分子分母初始化为1/1    
16     for(int i=0;i<n;i++){
17         scanf("%d/%d",&a,&b);
18         up = b*up+a*dn;
19         dn = b*dn;
20     }
21     up -= dn;
22     up /= n;
23     //小心浮点溢出! 
24     if(up==0){
25         printf("0\n");
26         return 0;
27     }
28     //分子分母最简化 
29     com = gcd(up,dn);    
30     up /= com;
31     dn /= com;    
32     if(dn==1)
33        printf("%d\n",up);
34     else
35        printf("%d/%d\n",up,dn);
36     return 0;
37 }

 

结构-05. 有理数均值(20)

标签:

原文地址:http://www.cnblogs.com/fcp1024/p/4296353.html

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