objective-c第十一章练习答案
2015-04-24 19:20
337 查看
</pre>1、<p></p><p></p><pre name="code" class="html">.h文件 @interface Fraction (MathOps); -(Fraction *) add:(Fraction *)f; -(Fraction *) sub:(Fraction *)f; -(Fraction *) mul:(Fraction *)f; -(Fraction *) div:(Fraction *)f; -(Fraction *) invert; @end .m文件 -(Fraction *) invert { Fraction *result=[[Fraction alloc]init]; result.numerator=self.denominator; result.denominator=self.numerator; [result reduce]; return result; }
<pre name="code" class="html">main文件下 [[result invert]print];
2、
@interface Fraction (Comparison) -(BOOL) isEqualTo:(Fraction *)f; -(int) compare:(Fraction *)f; @end @implementation Fraction (Comparison) -(BOOL) isEqualTo:(Fraction *)f; { if(self.numerator*f.denominator==f.numerator*self.denominator) return YES; else return NO; } -(int) compare:(Fraction *)f; { Fraction *result=[[Fraction alloc]init]; result.numerator=self.numerator; result.denominator=self.denominator; [result reduce]; if(result.numerator*f.denominator<f.numerator*result.denominator) return -1; else if(result.numerator*f.denominator==f.numerator*result.denominator) return 0; else return 1; } @end main文件
if([b isEqualTo:a]==YES) NSLog(@"这两个分数相等"); else NSLog(@"两个数不等"); if ([a compare: b] == -1) NSLog(@"a小于b"); else if ([a compare: b] == 1) NSLog(@"a大于b"); else NSLog(@"a等于b");
3、
@interface Fraction(NSComparisonMethods) -(BOOL) isEqualTo:(Fraction *)f; -(BOOL) isLessThanOrEqualTo:(Fraction *)f; -(BOOL) isLessThan:(Fraction *)f; -(BOOL) isGreaterThanOrEqualTo:(Fraction *)f; -(BOOL) isGreaterThan:(Fraction *)f; -(BOOL) isNotEqualTo:(id)f; @end @implementation Fraction(NSComparisonMethods) -(BOOL) isEqualTo:(Fraction *)f { if(self.numerator*f.denominator==f.numerator*self.denominator) return YES; else return NO; } -(BOOL) isLessThanOrEqualTo:(Fraction *)f; { if(self.numerator*f.denominator<f.numerator*self.denominator /self.numerator*f.denominator==f.numerator*self.denominator) return YES; else return NO; } -(BOOL) isLessThan:(Fraction *)f { if(self.numerator*f.denominator<f.numerator*self.denominator) return YES; else return NO; } -(BOOL) isGreaterThanOrEqualTo:(Fraction *)f { if(self.numerator*f.denominator>f.numerator*self.denominator/self.numerator*f.denominator==f.numerator*self.denominator) return YES; else return NO; } -(BOOL) isGreaterThan:(Fraction *)f { if(self.numerator*f.denominator>f.numerator*self.denominator) return YES; else return NO; } -(BOOL) isNotEqualTo:(id)object { if((self.numerator*[object denominator])!=([object numerator]*self.denominator)) return YES; else return NO; } @end main文件下: if ([a isEqualTo:b]==YES) { NSLog(@"a=b"); } else if ([a isLessThanOrEqualTo:b]==YES) { NSLog(@"a<=b"); } else if ([a isLessThan:b]==YES) { NSLog(@"a<b"); } else if ([a isGreaterThanOrEqualTo:b]==YES) { NSLog(@"a>=b"); } else if ([a isGreaterThan:b]==YES) NSLog(@"a>b"); if([a isNotEqualTo:b]==YES) NSLog(@"a!=b"); else NSLog(@"no");
4、
@interface Calculator(Trig)//分类 -(double) sin; -(double) cos; -(double) tan; @end @implementation Calculator(Trig)//分类 -(double) sin { return sin(self.accumulator); } -(double) cos { return cos(self.accumulator); } -(double) tan { return tan(self.accumulator); } @end main文件 NSLog(@"Type in your degree:"); scanf("%lf",&Value3); [deskCalc setAccumulator:Value3]; NSLog(@"%0.2f",sin(Value3));
5、
相关文章推荐
- C ++ Primer Plus 第六版 第十一章编程练习答案
- C++ Primer Plus第六版 第十一章 编程练习答案
- objective-c第五章练习答案
- 《Python核心编程》第二版第308页第十一章练习 续三 -Python核心编程答案-自己做的-
- objective-c第十二章练习答案
- 《Python核心编程》第二版第308页第十一章练习 续一 -Python核心编程答案-自己做的-
- c++ primer plus(第6版)中文版 第十一章编程练习答案
- 《Python核心编程》第二版第308页第十一章练习 续四 -Python核心编程答案-自己做的-
- 《Python核心编程》第二版第308页第十一章练习 续五 -Python核心编程答案-自己做的-
- objective-c第四章课后练习答案
- objective-C第十五章课后练习答案
- objective-c第十章练习答案
- 《Python核心编程》第二版第308页第十一章练习 续二 -Python核心编程答案-自己做的-
- C++ Primer 学习笔记-练习6.7的答案错了?
- python 笔记 之 练习答案-阶乘
- C++第六版练习答案
- sqlzoo练习答案--SELECT within SELECT Tutorial
- sqlzoo练习答案--More JOIN operations
- 《Python核心编程》第二版第36页第二章练习 续二 -Python核心编程答案-自己做的-
- c++ primer plus(第6版)中文版 第六章编程练习答案