编程:求两个正整数m,n,输入两个数的最大公约数.注意:输入时,允许用户随意先输入大的或小的整数(C语言)
时间: 2024-02-25 19:57:42 浏览: 84
C语言程序设计-求出两个非零正整数的最大公约数,并作为函数值返回
5星 · 资源好评率100%
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int m, n, temp;
printf("请输入两个正整数:\n");
scanf("%d%d", &m, &n);
// 交换 m 和 n 的值,使得 m > n
if (m < n) {
temp = m;
m = n;
n = temp;
}
while (n != 0) {
temp = m % n;
m = n;
n = temp;
}
printf("最大公约数为:%d\n", m);
return 0;
}
```
在这个代码中,我们使用了 `scanf()` 函数来让用户从键盘上输入两个正整数。接着,我们使用了 `if` 语句来判断哪个数较大,如果是第一个数较小,则交换两个数的值,使得第一个数较大。然后,我们使用了一个 `while` 循环来求出两个数的最大公约数,具体做法是:用较大的数除以较小的数,得到余数,然后将较小的数赋值为原来的余数,再用新的较小的数去除以原来的余数,重复这个过程,直到余数为0,此时的较小的数就是两个数的最大公约数。最后,我们使用 `printf()` 函数来输出结果。
希望这个代码对您有所帮助!
阅读全文