怎么用c++表示分数
时间: 2024-10-23 16:18:23 浏览: 7
C++ 分数运算 源码
在 C++ 中,可以使用结构体或者类来表示分数,通常包含两个部分:分子 (numerator) 和分母 (denominator),因为分母可能会为零,所以需要特别处理防止除以零的情况。这里提供一种常见的简单实现方法:
```cpp
#include <iostream>
// 使用结构体表示分数
struct Fraction {
int numerator; // 分子
int denominator; // 分母
// 构造函数,初始化分数为0/1
Fraction(int num = 0, int den = 1)
: numerator(num), denominator(den) {
// 防止分母为零的错误
if (denominator == 0) {
throw std::invalid_argument("Denominator cannot be zero");
}
}
// 检查分数是否为整数
bool is_integer() const {
return denominator == 1;
}
// 表示为带分数形式,如果可以简化就简化
std::string to_string_simplified() const {
if (is_integer()) {
return std::to_string(numerator);
} else {
auto reduced_numerator = numerator % denominator;
return (nominator / denominator) + " " + (reduced_numerator > 0 ? "+" : "") + reduced_numerator + "/" + std::to_string(denominator);
}
}
};
int main() {
Fraction frac(4, 2); // 创建分数 4/2
std::cout << "Fraction: " << frac.to_string_simplified() << std::endl;
return 0;
}
```
阅读全文