第一题 定义分数(Fraction)类: 1、成员变量:分子、分母 2、方法:
(1)自定义初始化方法(初始分子和分母) (2)分子的赋值、取值方法 (3)分母的赋值取值方法 (4)打印分数信息

#import <Foundation/Foundation.h>

#import "Member.h"

#import "Denominator.h"

#import "Score.h"

#import "Fraction.h"

int main(int argc, const char * argv[])

{


    @autoreleasepool {

        

        Member *member = [[Member alloc]

                          initWithSize:20];

        Denominator *denominator = [[Denominator alloc]

                                    initWithSize:30];

        //赋值

        [member setSize:10];

        [denominator setSize:20];

        

        Score *score = [[Score alloc]

                        initWithMember:member denominator:denominator];

        //打印

        [score printf];

        

        

        Member *member1 = [[Member alloc] init];

        Denominator *denominator1 = [[Denominator alloc] init];

        [member1 setSize:20];

        [denominator1 setSize:30];

        Score *score1 = [[Score alloc]

                        initWithMember:member1 denominator:denominator1];

        [score1 printf];

        //求公约数

        [score commonDivisor];

        //加法

        [[score add:score1] commonDivisor];

        //减法

        [[score subtract:score1] commonDivisor];

        //乘法

        [[score multiply:score1] commonDivisor];

        //除法

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是Fraction的实现代码: ```python class Fraction: def __init__(self, f1, f2): self.f1 = f1 self.f2 = f2 def add(self, other): new_f1 = self.f1 * other.f2 + self.f2 * other.f1 new_f2 = self.f2 * other.f2 return Fraction(new_f1, new_f2) def subtract(self, other): new_f1 = self.f1 * other.f2 - self.f2 * other.f1 new_f2 = self.f2 * other.f2 return Fraction(new_f1, new_f2) def multiply(self, other): new_f1 = self.f1 * other.f1 new_f2 = self.f2 * other.f2 return Fraction(new_f1, new_f2) def divide(self, other): new_f1 = self.f1 * other.f2 new_f2 = self.f2 * other.f1 return Fraction(new_f1, new_f2) def print_fraction(self): print("{}/{}".format(self.f1, self.f2)) def print_float(self): print(float(self.f1) / float(self.f2)) ``` 其中,`__init__`方法用于初始化分数分子分母;`add`、`subtract`、`multiply`、`divide`分别实现了分数的加减乘除运算;`print_fraction`用于以分数形式打印分数;`print_float`用于以浮点形式打印分数。 下面是主程序的代码,用于创建分数并进行运算: ```python fraction1 = Fraction(1, 2) fraction2 = Fraction(2, 3) print("fraction1:") fraction1.print_fraction() fraction1.print_float() print("fraction2:") fraction2.print_fraction() fraction2.print_float() print("add:") fraction1.add(fraction2).print_fraction() fraction1.add(fraction2).print_float() print("subtract:") fraction1.subtract(fraction2).print_fraction() fraction1.subtract(fraction2).print_float() print("multiply:") fraction1.multiply(fraction2).print_fraction() fraction1.multiply(fraction2).print_float() print("divide:") fraction1.divide(fraction2).print_fraction() fraction1.divide(fraction2).print_float() ``` 输出结果如下: ``` fraction1: 1/2 0.5 fraction2: 2/3 0.6666666666666666 add: 7/6 1.1666666666666667 subtract: -1/6 -0.16666666666666666 multiply: 1/3 0.3333333333333333 divide: 3/4 0.75 ``` 可以看到,我们成功地创建了Fraction,并且实现了分数的各种运算方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值