第一题 定义分数(Fraction)类: 1、成员变量:分子、分母 2、方法: (1)自定义初始化方法(初始分子和分母) (2)分子的赋值、取值方法 (3)分母的赋值取值方法 (4)打印分数信息
来源:互联网 发布:windows触摸屏输入法 编辑:程序博客网 时间:2024/04/28 00:43
#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];
//除法
[[score division:score1] commonDivisor];
//------------------------------------------------------------------------
Fraction *fraction = [[Fraction alloc]
initWithMember:2 den:3];
[fraction setMember:20];
[fraction setDen:30];
[fraction printf];
Fraction *fraction1 = [[Fraction alloc]
initWithMember:30 den:40];
[fraction1 printf];
//加法
[[fraction add:fraction1] commonDivisor];
//减法
[[fraction subtraction:fraction1] commonDivisor];
//乘法
[[fraction mul:fraction1] commonDivisor];
//除法
[[fraction division:fraction1] commonDivisor];
}
return 0;
}
//声明文件
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
{
int _member;
int _den;
}
-(id)initWithMember:(int)member den:(int)den;
-(void)printf;
-(void)setMember:(int)member;
//
-(void)setDen:(int)den;
//
//-(int)den;
//
//-(int)member;
//----------------------------------------
//加法
-(Fraction *)add:(Fraction *)add;
//减法
-(Fraction *)subtraction:(Fraction *)add;
//乘法
-(Fraction *)mul:(Fraction *)mul;
//除法
-(Fraction *)division:(Fraction *)division;
//约分
-(void)commonDivisor;
@end
//实现文件
#import "Fraction.h"
@implementation Fraction
-(id)initWithMember:(int)member den:(int)den
{
_member = member;
_den = den;
return self;
}
-(void)printf
{
NSLog(@"%d / %d", _member, _den);
}
-(void)setMember:(int)member
{
_member = member;
}
-(void)setDen:(int)den
{
_den = den;
}
//
//-(int)den
//{
// return _den;
//}
//
//-(int)member
//{
// return _member;
//}
//-----------------------------------
//加法
-(Fraction *)add:(Fraction *)add
{
Fraction *fractionNew = [[Fraction alloc] init];
fractionNew->_member = _member * add->_den + _den * add->_member;
fractionNew->_den = _den * add->_den;
return fractionNew;
}
//减法
-(Fraction *)subtraction:(Fraction *)subtraction
{
Fraction *New = [[Fraction alloc] init];
New->_member = _member * subtraction->_den - _den * subtraction->_member;
New->_den = _den * subtraction->_den;
return New;
}
//乘法
-(Fraction *)mul:(Fraction *)mul
{
Fraction *New = [[Fraction alloc] init];
New->_member = _member * mul->_member;
New->_den = _den * mul->_den;
return New;
}
//除法
-(Fraction *)division:(Fraction *)division
{
Fraction *New = [[Fraction alloc] init];
New->_member = _member * division->_den;
New->_den = _den * division->_member;
return New;
}
//约分
-(void)commonDivisor
{
int a = 0, b = 0, c = 0, d = 0, gbs = 0;
// scanf("%d%d", &a, &b);
a = _member;
b = _den;
if (a < b) {
c = a;
a = b;
b = c;
}
gbs = a * b;
while (b != 0) {
d = a % b;
a = b;
b = d;
}
NSLog(@"%d / %d", _member / a, _den /a);
}
@end
- 第一题 定义分数(Fraction)类: 1、成员变量:分子、分母 2、方法: (1)自定义初始化方法(初始分子和分母) (2)分子的赋值、取值方法 (3)分母的赋值取值方法 (4)打印分数信息
- 3. 定义一个分数类(Fraction) 实例变量:分子,分母 方法:初始化方法(2个参数),便利构造器,约分,打印,加,减,乘,除。
- pku--3979 分数加减法(注意分子为0,分母为1的情况)
- C语言检索两个数是否有2以上公因数(作为分子分母时是否可化简)的方法
- 分数 分子分母
- CF 209 Div2 (C) 快速幂 求分子(一堆数相加)和分母的最大公约数
- 怎样在Excel中输入带有分子分母的分数
- 谈ArcGIS分数标注的问题 分子分母形式
- 当在SQL中遇到分子/分母为0时的方法
- 穷举法解方程:一个最简分数,若分子加上3,约分后为 1/3 ,若分母减去2,约分后为 1/4 ,这个分数是?
- 分子,分母的化简以及加减乘除
- 前两分数分母之和与分子之和分别等于后面的分母与分子之和。
- [Violet 2]棒球 (求两分数间分母最小的分数)
- 给定两个表示分数的分子和分母的整数,返回字符串格式的分数,如果小数部分重复,则将重复部分括在括号内。
- Excel查询序列所对应的值-vLoopup函数,求比例分子改变但分母不变
- 7-2用rational结构体来完成分子分母的格式进行计算
- hdu 2225 求分母不超过m的最接近sqrt(n)的分数
- 【HDU 2225】【数学题 构造】【求不大于sqrt(n)的分数, 分母最大为m】
- Looper的使用
- 致我们终将忘记的算法(广度和深度优先搜索算法)
- Repeater VS 后台组织Htm
- TCP/IP socket
- LeetCode Permutations
- 第一题 定义分数(Fraction)类: 1、成员变量:分子、分母 2、方法: (1)自定义初始化方法(初始分子和分母) (2)分子的赋值、取值方法 (3)分母的赋值取值方法 (4)打印分数信息
- 【BZOJ】【BZOJ第7页题解】
- 矩阵旋转(含代码)
- vm虚拟机下ubuntu 联网方式
- 第193天
- Moving Tables
- leetcode - Evaluate Reverse Polish Notation
- 浅显讲解perl的模式匹配
- 查看 SELinux状态及关闭SELinux