|
发表于 2023-11-12 18:55:38
|
显示全部楼层
为了计算两个有理数的和,你可以使用C++编写一个简单的程序。以下是一个示例代码:
- #include <iostream>
- using namespace std;
- // 求最大公约数
- int gcd(int a, int b) {
- return b == 0 ? a : gcd(b, a % b);
- }
- // 定义结构体表示有理数
- struct Rational {
- int numerator; // 分子
- int denominator; // 分母
- };
- // 计算两个有理数的和
- Rational addRational(const Rational& r1, const Rational& r2) {
- Rational result;
- result.numerator = r1.numerator * r2.denominator + r2.numerator * r1.denominator;
- result.denominator = r1.denominator * r2.denominator;
- // 简化分数
- int common = gcd(result.numerator, result.denominator);
- result.numerator /= common;
- result.denominator /= common;
- return result;
- }
- int main() {
- Rational r1, r2;
- char slash;
- cin >> r1.numerator >> slash >> r1.denominator >> r2.numerator >> slash >> r2.denominator;
- Rational result = addRational(r1, r2);
- if (result.denominator == 1) {
- cout << result.numerator << endl;
- } else {
- cout << result.numerator << "/" << result.denominator << endl;
- }
- return 0;
- }
复制代码
在这个示例代码中,我们定义了一个Rational结构体用来表示有理数,并实现了两个函数。gcd 函数用来求最大公约数,addRational 函数用来计算两个有理数的和并简化结果。在 main 函数中,我们读入两个有理数,调用 addRational 函数计算它们的和,并输出最简形式的结果。 |
|