C语言编程对分数进行减约结构体
时间: 2023-11-02 21:59:55 浏览: 76
可以定义一个包含分子和分母的结构体,然后编写一个函数实现分数的减约操作。
以下是示例代码:
```c
#include <stdio.h>
// 定义分数结构体
typedef struct Fraction {
int numerator; // 分子
int denominator; // 分母
} Fraction;
// 求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 减约分数
Fraction reduceFraction(Fraction f) {
int divisor = gcd(f.numerator, f.denominator);
f.numerator /= divisor;
f.denominator /= divisor;
return f;
}
int main() {
Fraction f1 = {10, 25}; // 10/25
Fraction f2 = {3, 9}; // 3/9
Fraction result = {
f1.numerator * f2.denominator - f2.numerator * f1.denominator,
f1.denominator * f2.denominator
};
result = reduceFraction(result);
printf("%d/%d\n", result.numerator, result.denominator);
return 0;
}
```
输出结果为:
```
1/5
```
其中 `reduceFraction` 函数用于减约分数,`gcd` 函数用于求两个数的最大公约数。在 `main` 函数中,我们先求出两个分数的差,然后调用 `reduceFraction` 函数对结果进行减约处理。
阅读全文