求最大叔和最小数的最大公约数c语言
时间: 2024-03-05 16:55:07 浏览: 13
可以使用辗转相除法来求最大公约数,代码如下:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
int temp;
while (b != 0) {
temp = b;
b = a % b;
a = temp;
}
return a;
}
int main() {
int n, max = 0, min = 0;
printf("请输入数字个数:");
scanf("%d", &n);
printf("请输入数字:");
for (int i = 0; i < n; i++) {
int num;
scanf("%d", &num);
if (i == 0) {
max = min = num;
} else {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
}
int result = gcd(max, min);
printf("最大公约数为:%d\n", result);
return 0;
}
```
其中,`gcd` 函数用于求最大公约数,`main` 函数中先输入数字个数,再输入数字,同时记录最大数和最小数,最后调用 `gcd` 函数求最大公约数并输出结果。