求十个元素的最大值最小值
时间: 2024-05-26 12:10:59 浏览: 48
最大值:您可以使用一些排序算法来找到最大值,例如冒泡排序、选择排序等等。其中,冒泡排序的时间复杂度为 O(n^2),选择排序的时间复杂度为 O(n^2),因此在较小的数据集合上使用比较合适。
最小值:同样地,您可以使用以上提到的排序算法来找到最小值。除此之外,还可以使用线性查找算法,在代码中遍历整个数组并比较元素大小,时间复杂度为 O(n)。
相关问题
求数组中元素最大值最小值
你可以使用以下代码来求解一个数组中元素的最大值和最小值:
```
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int max_val = *max_element(arr, arr + n);
int min_val = *min_element(arr, arr + n);
cout << "最大值为:" << max_val << endl;
cout << "最小值为:" << min_val << endl;
return 0;
}
```
这段代码使用了 STL 中的 max_element 和 min_element 函数来求解数组中的最大值和最小值。
C语言一个数组二十个元素去掉最大值最小值求平均值的代码
以下是求一个长度为20的数组去掉最大值和最小值后的平均值的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[20];
int i, sum = 0, max = arr[0], min = arr[0];
float avg;
// 读入数组元素
printf("请输入20个整数:\n");
for (i = 0; i < 20; i++) {
scanf("%d", &arr[i]);
}
// 求最大值、最小值、总和
for (i = 0; i < 20; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
sum += arr[i];
}
// 去掉最大值和最小值后的平均值
avg = (float)(sum - max - min) / 18;
printf("去掉最大值和最小值后的平均值为:%.2f\n", avg);
return 0;
}
```
注意,这里假设输入的20个数都是整数。如果输入的数有小数,那么需要使用 `float` 或 `double` 类型来存储数组元素和平均值。