化简分数--练习题
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1
int
Gcw(
int
u,
int
v);
2 /* *************************************************** */
3 // 化简分数
4 // molecular:分子,denominator:分母
5 /* *************************************************** */
6 void Simplification( int * molecular, int * denominator)
7 {
8 int gcw = - 1 ;
9 while ( (gcw = Gcw( * molecular, * denominator)) != - 1 )
10 {
11 * molecular = * molecular / gcw;
12 * denominator = * denominator / gcw;
13 }
14 }
15
16 /* *************************************************** */
17 // 求两个数的最大公因数
18 //
19 /* *************************************************** */
20 int Gcw( int u, int v)
21 {
22 if ( ! (u = u % v))
23 return v;
24 if (u == 1 )
25 return - 1 ;
26 return Gcw(v,u);
27 }
28
2 /* *************************************************** */
3 // 化简分数
4 // molecular:分子,denominator:分母
5 /* *************************************************** */
6 void Simplification( int * molecular, int * denominator)
7 {
8 int gcw = - 1 ;
9 while ( (gcw = Gcw( * molecular, * denominator)) != - 1 )
10 {
11 * molecular = * molecular / gcw;
12 * denominator = * denominator / gcw;
13 }
14 }
15
16 /* *************************************************** */
17 // 求两个数的最大公因数
18 //
19 /* *************************************************** */
20 int Gcw( int u, int v)
21 {
22 if ( ! (u = u % v))
23 return v;
24 if (u == 1 )
25 return - 1 ;
26 return Gcw(v,u);
27 }
28