Problem I: 怎么使用类和对象04

Problem I: 怎么使用类和对象04

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 409  Solved: 109
[Submit] [Status] [Web Board] [Creator:]

Description

分数相加,例如输入两个分数分别是1/5 和7/20,它们相加后输出11/20。方法是先求出两个分数分母的最小公倍

 数,通分后,再求两个分子的和,最后约简结果分数的分子和分母(如果两个分数相加的结果是4/8,

 则必须将其约简成最简分数的形式1/2),即用分子分母的最大公约数分别除分子和分母。求m、n最大

 公约数的一*种方法为:将m、n较小的一个数赋给变量k,然后分别用{k,k-1, k-2, ... 1}中的数(递,

 减)去除m和n,第一个能把m和n同时除尽的数就是m和n的最大公约数。假定m、n的最大公约

 数是div,则它们的最小公倍数就是mul=m*n/v。试建立- -个分数类Fract,完成两个分数相加的功能。具体要

 求如下:

 (1)私有数据成员

 ●int mol,den:mol为分子,den为分母。

 (2)公有成员函数

 ●Fract (int a= =0,intb=1): 使用默认参数的构造函数,用a和b分别初始化分子mol、 分母den。.

 ●int ged (intm, intn): 求m、n的最大公约数。此函数供成员add()函数调用。

 ●Fract add (Fract f): 将参数分数f与对象自身相加,返回约简后的分数对象。

 ●void show():按照mol/den的形式在屏幕上显示分数。

 (3)在主程序中定义两个分数对象fl和f2, 其初值分别是1/5和7/20, 通过fl调用成员函数add完

 成fl和f2的相加,将得到的分数赋给对象f3,显示分数对象f3


Input

两个分数相加

Output

两个分数相加的结果

Sample Input

1/5+7/20

Sample Output

11/20

[Submit][Status]