c语言分数的四则运算
时间: 2024-10-08 16:26:15 浏览: 88
在C语言中,要实现分数的四则运算,首先需要将分数表示为两个整数,分子(numerator)和分母(denominator)。然后可以定义一个结构体或者联合体来存储这两个部分,如下所示:
```c
typedef struct {
int numerator;
int denominator;
} Fraction;
// 加法函数
Fraction add(Fraction f1, Fraction f2) {
int commonDen = __gcd(f1.denominator, f2.denominator); // 获取公共分母
int newNum1 = f1.numerator * (commonDen / f1.denominator);
int newNum2 = f2.numerator * (commonDen / f2.denominator);
return (Fraction){newNum1 + newNum2, commonDen};
}
// 减法、乘法和除法类似,只是计算稍有不同
Fraction subtract(Fraction f1, Fraction f2) { ... }
Fraction multiply(Fraction f1, Fraction f2) { ... }
Fraction divide(Fraction f1, Fraction f2) { ... }
int gcd(int a, int b) { /* 使用欧几里得算法计算最大公约数 */ }
```
这里使用了辗转相除法(Euclidean algorithm)来找到两个分数的公共分母。对于减法,是通过改变负号处理;乘法是直接相乘后调整分子和分母;除法则需要先判断除数是否为零。
阅读全文