21xrx.com
2024-12-22 22:28:17 Sunday
登录
文章检索 我的文章 写文章
C++中如何表示分数
2023-07-03 19:45:15 深夜i     --     --
C++ 分数 表示

分数是初中数学学习中的一个重要概念,也是数学和科学中常用的表示方式。在编程中,需要用到分数时,我们可以使用C++语言来表示。

在C++中,分数可以使用分数类来表示。可以自定义一个分数类,将分子和分母设置为私有变量,并提供公共函数来对分数进行操作。

以下是表示分数的C++代码示例:


class Fraction {

private:

  int numerator;  // 分子

  int denominator; // 分母

public:

  Fraction(int n, int d)

    numerator = n;

    denominator = d;

  

  int getNumerator() const return numerator;

  int getDenominator() const return denominator;

  void setNumerator(int n) numerator = n;

  void setDenominator(int d) denominator = d;

  double toDecimal() const { return (double)numerator / (double)denominator; }

  Fraction add(const Fraction& f) const {

    int n = numerator * f.denominator + f.numerator * denominator;

    int d = denominator * f.denominator;

    return Fraction(n, d);

  }

  Fraction subtract(const Fraction& f) const {

    int n = numerator * f.denominator - f.numerator * denominator;

    int d = denominator * f.denominator;

    return Fraction(n, d);

  }

  Fraction multiply(const Fraction& f) const {

    int n = numerator * f.numerator;

    int d = denominator * f.denominator;

    return Fraction(n, d);

  }

  Fraction divide(const Fraction& f) const {

    int n = numerator * f.denominator;

    int d = denominator * f.numerator;

    return Fraction(n, d);

  }

  void print() const {

    if (denominator == 1)

      cout << numerator << endl;

    

    else

      cout << numerator << "/" << denominator << endl;

    

  }

};

在上面的示例中,我们定义了一个分数类Fraction,它有两个私有变量分子和分母。我们使用构造函数来初始化这两个变量,并提供公共函数来对分数进行加、减、乘、除和输出操作。

通过这个分数类,我们就可以方便地进行分数运算和输出了。

例如,我们可以这样使用分数类:


int main() {

  Fraction f1(1, 2);

  Fraction f2(3, 4);

  Fraction f3 = f1.add(f2);

  f3.print();

  return 0;

}

这个程序会输出“5/4”,即1/2+3/4的结果。

在C++中,分数也可以用std::fraction类来表示。这个类在标准C++中并不常用,但是在某些库中可能会用到。使用std::fraction类定义一个分数变量如下:


std::fraction<int> f1(1, 2);

std::fraction<int> f2(3, 4);

std::fraction<int> f3 = f1 + f2;

std::cout << f3 << std::endl;

这个程序同样会输出“5/4”。

在实际应用中,需要根据具体情况选择使用哪种方法来表示分数。无论是自定义分数类还是使用std::fraction类,都可以满足大多数情况下的需要。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复