c++ 编写约简分数的函数(用分子分母的最大公约数除分子分母),用指针变量做函数的参数
时间: 2024-02-05 07:11:56 浏览: 162
C++计算机实现,分数计算,小课程作业。
可以使用以下的C++函数来实现:
```c++
void simplifyFraction(int* numerator, int* denominator) {
int gcd = 1;
for (int i = 1; i <= *numerator && i <= *denominator; i++) {
if (*numerator % i == 0 && *denominator % i == 0) {
gcd = i;
}
}
*numerator /= gcd;
*denominator /= gcd;
}
```
这个函数使用了指针变量作为参数,它接受一个指向分子的指针和一个指向分母的指针,并将它们的值更新为约分后的值。
该函数使用一个循环来找到分子和分母的最大公约数(GCD)。在循环中,我们从1开始递增,直到找到分子和分母都可以被整除的数。一旦找到这样的数,我们就更新GCD的值。当循环结束时,GCD的值将是分子和分母的最大公约数。
然后,我们将分子和分母都除以GCD,以得到约分后的值。注意,我们使用了解引用符(*)来访问指向分子和分母的指针所指向的实际数值。
以下是一个使用此函数的示例:
```c++
int main() {
int numerator = 12;
int denominator = 36;
simplifyFraction(&numerator, &denominator);
std::cout << numerator << "/" << denominator << std::endl;
return 0;
}
```
在这个示例中,我们使用`&`符号来传递分子和分母的地址,以便指针参数可以访问它们。输出将是`1/3`,这是12/36的约分结果。
阅读全文