用c语言设计程序用以计算两个分数的加减乘除,不要求结果化为最简式, 并在指令行窗口上打印出来。
时间: 2024-10-05 07:01:52 浏览: 17
在C语言中设计一个简单的分数计算器,你可以创建结构体表示分数,并提供相应的函数来进行加、减、乘、除操作。这里是一个基础的实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义分数结构体
typedef struct {
int numer; // 分子
int denom; // 分母
} Fraction;
// 初始化分数
Fraction create_fraction(int num, int den) {
Fraction f;
f.numer = num;
f.denom = den;
return f;
}
// 计算分数加法
Fraction add(Fraction a, Fraction b) {
int common_denom = __gcd(a.denom, b.denom); // 获取公共分母
a.numer *= common_denom / a.denom;
b.numer *= common_denom / b.denom;
return (a.numer + b.numer == 0) ? {0, common_denom} : {a.numer + b.numer, common_denom};
}
// 计算分数减法
Fraction subtract(Fraction a, Fraction b) {
return add(a, create_fraction(-b.numer, b.denom));
}
// 计算分数乘法
Fraction multiply(Fraction a, Fraction b) {
return create_fraction(a.numer * b.numer, a.denom * b.denom);
}
// 计算分数除法
Fraction divide(Fraction a, Fraction b) {
return multiply(a, create_fraction(b.denom, b.numer));
}
// 最大公约数辅助函数
int __gcd(int a, int b) {
return b == 0 ? a : __gcd(b, a % b);
}
// 打印分数
void print_fraction(Fraction f) {
printf("%d/%d", f.numer, f.denom);
}
int main() {
Fraction fraction1, fraction2;
printf("请输入第一个分数 (numerator/denominator): ");
scanf("%d/%d", &fraction1.numer, &fraction1.denom);
printf("请输入第二个分数 (numerator/denominator): ");
scanf("%d/%d", &fraction2.numer, &fraction2.denom);
Fraction result;
printf("加法结果: %s\n", print_fraction(add(fraction1, fraction2)));
printf("减法结果: %s\n", print_fraction(subtract(fraction1, fraction2)));
printf("乘法结果: %s\n", print_fraction(multiply(fraction1, fraction2)));
printf("除法结果: %s\n", print_fraction(divide(fraction1, fraction2)));
return 0;
}
```
当你运行这个程序时,它会提示用户输入两个分数并进行基本的四则运算,然后打印出结果。
阅读全文