随机输入10-20个数,输出其最大值和最小值。
时间: 2024-06-12 14:10:06 浏览: 9
有多种方法可以求出随机输入的数的最大值和最小值。其中一种方法是首先调用random()方法产生随机数,用数组存储,然后用两个for循环求出其中的最大值和最小值,最后打印输出这两个最值。另外,还可以使用假设法找最值或选择排序法来求解。
以下是使用假设法找最值的代码实现:
#include <stdio.h>
int main() {
int a[20], i, max, mini;
for (i = 0; i < 10 + rand() % 11; i++) //随机输入10-20个数
scanf("%d", &a[i]);
max = a; //首先假设a为最大值
mini = a; //首先假设a为最小值
for (i = 1; i < 10 + rand() % 11; i++) {
if (a[i] > max) max = a[i];
if (a[i] < mini) mini = a[i];
}
printf("max=%d,mini=%d\n", max, mini);
return 0;
}
以下是使用选择排序法的代码实现:
#include <stdio.h>
int main() {
int a[20], i, j, t;
for (i = 0; i < 10 + rand() % 11; i++) //随机输入10-20个数
scanf("%d", &a[i]);
for (i = 0; i < 9 + rand() % 11; i++)
for (j = i + 1; j < 10 + rand() % 11; j++)
if (a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
printf("max=%d,mini=%d\n", a[10 + rand() % 11 - 1], a);
return 0;
}