用c语言编写while语句,输入两个数,求这两个数的公约数
时间: 2024-12-12 10:25:51 浏览: 7
C语言编程实现求两个数的最大公约数和最小公倍数
在C语言中,你可以使用`while`循环结合一些基本的数学操作来求两个数的最大公约数(GCD)。这里是一个简单的例子:
```c
#include <stdio.h>
int gcd(int num1, int num2) {
int temp;
while (num2 != 0) {
temp = num1 % num2; // 使用辗转相除法计算余数
num1 = num2; // 更新较大的数为较小的数
num2 = temp; // 更新较小的数为余数
}
return num1; // 返回最后的gcd值
}
int main() {
int num1, num2;
printf("请输入第一个数:");
scanf("%d", &num1);
printf("请输入第二个数:");
scanf("%d", &num2);
// 计算并打印最大公约数
int result = gcd(num1, num2);
printf("两个数的最大公约数是:%d\n", result);
return 0;
}
```
在这个程序中,我们使用欧几里得算法(也称为辗转相除法)来不断找到两个数的余数,直到其中一个变为0,此时另一个数就是它们的最大公约数。
阅读全文