分数四则运算c语言,而且要化简
时间: 2024-10-07 08:07:07 浏览: 50
分数四则运算在C语言中通常通过结构体和指针来模拟,因为C语言本身并不直接支持分数类型。你可以创建一个包含分子和分母的结构体,然后定义加、减、乘、除等操作函数。例如:
```c
typedef struct Fraction {
int numerator;
int denominator;
} Fraction;
// 计算两个分数相加
Fraction add(Fraction f1, Fraction f2) {
int lcm = getLCM(f1.denominator, f2.denominator);
Fraction result;
result.numerator = (f1.numerator * lcm / f1.denominator) + (f2.numerator * lcm / f2.denominator);
result.denominator = lcm;
simplify(result); // 函数用于化简分数
return result;
}
// 其他类似的操作函数,如减法、乘法和除法
// 化简分数(去除最大公约数)
void simplify(Fraction* fraction) {
int gcd = gcd(fraction->numerator, fraction->denominator);
fraction->numerator /= gcd;
fraction->denominator /= gcd;
}
// 获取两个数的最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
```
阅读全文