求最大数和最小数的最大公约数 从键盘输入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 17:37:54 浏览: 8
以下是实现该程序的代码:
```c
#include <stdio.h>
int main() {
int nums[10]; // 存储输入的10个整数
int maxNum, minNum, gcd; // 最大数、最小数、最大公约数
printf("Input 10 numbers:\n");
// 读入10个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 计算最大数和最小数
maxNum = nums[0];
minNum = nums[0];
for (int i = 1; i < 10; i++) {
if (nums[i] > maxNum) {
maxNum = nums[i];
}
if (nums[i] < minNum) {
minNum = nums[i];
}
}
printf("maxNum=%d\nminNum=%d\n", maxNum, minNum);
// 计算最大公约数
for (int i = minNum; i >= 1; i--) {
if (maxNum % i == 0 && minNum % i == 0) {
gcd = i;
break;
}
}
printf("%d", gcd);
return 0;
}
```
程序的基本思路是:首先读入10个整数,然后遍历这些整数,计算出最大数和最小数。接着从最小数开始倒序遍历,找到最大公约数。最后输出结果。注意:在实现这个程序时,需要注意处理输入的整数可能为0的情况,因为0不能作为除数。
阅读全文