cpp生成一个分数化简函数返回值是结果的分子和分母
时间: 2024-02-18 22:01:22 浏览: 77
2023级cpp上机练习题第13次(有返回值函数)
好的,下面是一个简单的 C++ 分数化简函数示例,它的返回值是分数的分子和分母:
```cpp
#include<iostream>
using namespace std;
struct Fraction {
int num; // 分数的分子
int den; // 分数的分母
};
int gcd(int a, int b) { // 求a和b的最大公约数
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
Fraction simplify(Fraction f) { // 分数化简函数
int gcdValue = gcd(f.num, f.den); // 求分子和分母的最大公约数
f.num /= gcdValue; // 将分子和分母都除以最大公约数
f.den /= gcdValue;
return f; // 返回化简后的分数
}
int main() {
Fraction f;
f.num = 10;
f.den = 25;
Fraction result = simplify(f);
cout << "化简前:" << f.num << "/" << f.den << endl;
cout << "化简后:" << result.num << "/" << result.den << endl;
return 0;
}
```
这个函数接受一个分数作为参数,计算出它的最简形式,并返回分子和分母构成的结构体Fraction。在函数内部,我们使用了辗转相除法求出分子和分母的最大公约数,并将分子和分母都除以这个最大公约数,最后返回化简后的分数。
阅读全文