在C语言中输入两个分数,可以通过以下几种方法:
使用浮点数表示分数
```c
float numerator, denominator;
printf("请输入分子和分母(用空格隔开): ");
scanf("%f %f", &numerator, &denominator);
```
使用结构体表示分数
```c
typedef struct {
int numerator; // 分子
int denominator; // 分母
} Fraction;
Fraction frac;
printf("请输入分子和分母(用空格隔开): ");
scanf("%d %d", &frac.numerator, &frac.denominator);
```
自定义输入函数来处理分数的输入
```c
typedef struct {
int numerator; // 分子
int denominator; // 分母
} Fraction;
Fraction read_fraction() {
Fraction frac;
printf("请输入分子和分母(用空格隔开): ");
scanf("%d %d", &frac.numerator, &frac.denominator);
return frac;
}
int main() {
Fraction frac = read_fraction();
// 使用frac进行后续操作
}
```
定义分数结构体并实现分数的输入和输出
```c
include include typedef struct { int numerator; // 分子 int denominator; // 分母 } Fraction; // 求两个分数的和 Fraction addFraction(Fraction f1, Fraction f2) { Fraction result; result.numerator = f1.numerator * f2.denominator + f2.numerator * f1.denominator; result.denominator = f1.denominator * f2.denominator; // 化简分数 int a = result.numerator, b = result.denominator; while (b != 0) { int temp = b; b = a % b; a = temp; } result.numerator /= a; result.denominator /= a; return result; } int main() { Fraction frac1 = read_fraction(); Fraction frac2 = read_fraction(); Fraction sum = addFraction(frac1, frac2); printf("结果为: %d/%d\n", sum.numerator, sum.denominator); return 0; } ``` 这些方法可以根据具体需求选择使用,以便更灵活地处理分数的输入和输出。