• 分数相加的例题


    方法为:a/b+c/d=( (a*d)+(b*c) )/(b*d) 
    (1).h文件
    #import <Foundation/Foundation.h>

     

    @interface Fraction : NSObject  //fraction分数

     

    @property int numerator,denominator;//denominator分母 numerator分子
    -(void)print;
    -(void)setTo:(int)n over :(int)d;
    -(double) convertToNum;     //convertion转换
    -(void)add:(Fraction *)f;
    -(void)reduce;              //reduce减少

     

    @end
    (2).m文件
    #import"Fraction.h"

     

    @implementationFraction

     

    @synthesizenumerator,denominator;
    -(void)print
    {
       NSLog(@"%i/%i",numerator,denominator);
    }

     

    -(double)convertToNum
    {
       if(denominator!=0)
        {
           return(double)numerator/denominator;
        }
       else
           returnNAN;
    }
    -(void)setTo:(int)n over:(int)d
    {
       numerator=n;
       denominator=d;
    }

     

    //添加Fraction到消息接受
    -(void)add:(Fraction*)f
    {
       //添加两个分数:                                             
       //a/b+c/d=((a*d)+(b*c))/(b*d)          //两个分数相加的另一种求法
       
       numerator=numerator* f.denominator+denominator* f.numerator;  //这里的*是乘的意思
       denominator=denominator* f.denominator;
    }

     

    -(void)reduce
    {
       intu=numerator;
       intv=denominator;
       inttemp;
       
       while(v!=0) {
            temp=u%v;
            u=v;               //求最大公约数的方法
            v=temp;
        }
       numerator/=u;               这两步是化简分数
       denominator/=u;
    }

     

    @end

  • 相关阅读:
    关键字搜索.sql
    加载SOS调试器扩展
    数字转换成十六进制.sql
    复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql
    字符串并集&交集处理示例.sql
    使用UNION实现库存报表的示例.sql
    Shell脚本学习笔记[1]
    bash中cut命令的用法[转]
    xargs的用法[转]
    正则语言学习笔记
  • 原文地址:https://www.cnblogs.com/iQingYang/p/5245543.html
Copyright © 2020-2023  润新知