为了计算两个有理数的和,你可以使用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 函数计算它们的和,并输出最简形式的结果。 |