c语言编程输入两个正整数,输出它们的最大公约数。
时间: 2024-12-14 15:26:14 浏览: 6
C语言程序设计-求出两个非零正整数的最大公约数,并作为函数值返回
5星 · 资源好评率100%
在C语言编程中,计算两个正整数的最大公约数(Greatest Common Divisor, GCD)通常可以使用欧几里得算法(Euclidean Algorithm)。这个算法基于这样一个原理:对于任意两个正整数a和b,如果a能被b整除,则gcd(a, b) = b;否则gcd(a, b) = gcd(b, a mod b),其中a mod b表示a除以b的余数。
以下是使用函数实现的简单示例:
```c
#include <stdio.h>
// 定义计算最大公约数的函数
int gcd(int a, int b) {
if (b == 0)
return a; // 如果b为0,a就是最大公约数
else
return gcd(b, a % b); // 递归调用,更新a和b的位置
}
int main() {
int num1, num2;
printf("请输入两个正整数:");
scanf("%d %d", &num1, &num2);
// 确保输入的是正整数
while (num1 <= 0 || num2 <= 0) {
printf("输入错误,请输入正整数:");
scanf("%d %d", &num1, &num2);
}
int result = gcd(num1, num2);
printf("它们的最大公约数是:%d\n", result);
return 0;
}
```
阅读全文