分数可以表示为“分子/分母”的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。用c语言的写
时间: 2023-03-19 18:25:38 浏览: 208
很高兴为您解答这个问题!以下是一个用C语言编写的程序,可以将用户输入的分数约分为最简分式:
```
#include <stdio.h>
int gcd(int a, int b) { // 辗转相除法求最大公约数
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int numerator, denominator;
printf("请输入一个分数(分子/分母):");
scanf("%d/%d", &numerator, &denominator);
int divisor = gcd(numerator, denominator); // 求分子和分母的最大公约数
numerator /= divisor; // 分子除以最大公约数
denominator /= divisor; // 分母除以最大公约数
printf("最简分式为:%d/%d\n", numerator, denominator);
return 0;
}
```
该程序使用了辗转相除法来求分子和分母的最大公约数,然后将分子和分母分别除以最大公约数,得到最简分式。