C语言实现:求最大数和最小数的最大公约数 从键盘输入10个正整数,求出最大数,最小数,以及他们的最大公约数。要求用数组实现。 程序运行结果示例1: Input 10 numbers: 15 23 56 87 94 105 78 19 22 43↙ maxNum=105 minNum=15 15 程序运行结果示例2: Input 10 numbers: 33 1 2 9 8 7 5 4 0 10↙ maxNum=33 minNum=0 输入格式: "%d" 输出格式: 输入提示信息:"Input 10 numbers:\n" 最大数输出格式:"maxNum=%d\n" 最小数输出格式:"minNum=%d\n" 最大公约数输出格式:"%d"
时间: 2024-03-21 08:40:58 浏览: 83
以下是实现题目要求的C语言代码:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int arr[10];
int maxNum = 0, minNum = 0;
printf("Input 10 numbers:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if (i == 0) {
maxNum = arr[i];
minNum = arr[i];
} else {
if (arr[i] > maxNum)
maxNum = arr[i];
if (arr[i] < minNum)
minNum = arr[i];
}
}
printf("maxNum=%d\n", maxNum);
printf("minNum=%d\n", minNum);
printf("%d", gcd(maxNum, minNum));
return 0;
}
```
思路解析:
1. 定义一个长度为10的数组 `arr` 存储输入的10个正整数。
2. 通过循环输入10个正整数,并在输入过程中判断最大数和最小数。
3. 最大数和最小数确定后,调用 `gcd()` 函数求出它们的最大公约数。
4. 最后按照题目要求输出结果。
阅读全文