用c语言编写一个程序,尽量简短,不启用C99标准模式也不添加编译选项。【问题描述】 编写程序,从控制台读入一个分数的分子和分母(分数无符号,并且分子小于分母,其大小不会超过int数据类型的表示范围),输出化简后分子和分母不含公约数的分数。 【输入形式】 从控制台输入两个正整数分别表示分子和分母,两整数之间以一个空格分隔。 【输出形式】 在标准输出上输出化简后的分子和分母,以一个空格分隔。 【输入样例1】 26664 479952 【输出样例1】 1 18 【样例1说明】 输入的分子为26664,分母为479952,分母可以被分子整除,输出化简后的分子为1,分母为18。
时间: 2023-06-20 10:06:03 浏览: 178
以下是一个简单的 C 语言程序实现,使用辗转相除法求最大公约数,然后将分子分母同时除以最大公约数即可得到化简后的分数:
```
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int a, b, g;
scanf("%d %d", &a, &b);
g = gcd(a, b);
printf("%d %d\n", a / g, b / g);
return 0;
}
```
阅读全文