找出数组里既不是最大值有不是最小值的数的个数
时间: 2024-12-20 21:22:51 浏览: 3
java代码-定义一个一维数组,求出数组的最大值,最小值,平均值
5星 · 资源好评率100%
这个问题是要求计算在一个给定的数组中,除了最大值和最小值以外的所有数值的数量。通常,在处理这类问题时,我们会首先找出数组中的最大值和最小值,然后遍历剩余的元素,统计那些不大于最大值也不小于最小值的元素个数。
例如,给出一个函数示例:
```c++
int countNonMinMax(int* arr, int size) {
int max = arr[0];
int min = arr[0];
int nonMinMaxCount = 0;
// 初始化最大值和最小值
if (size > 0) {
max = min = arr[0];
}
// 查找最大值和最小值
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
} else if (arr[i] < min) {
min = arr[i];
}
}
// 遍历数组,计数非最大非最小值元素
for (int i = 0; i < size; i++) {
if (arr[i] != max && arr[i] != min) {
nonMinMaxCount++;
}
}
return nonMinMaxCount;
}
```
在这个函数中,我们首先假设第一个元素既是最大值也是最小值,然后遍历数组更新这两个值。最后再次遍历数组,当遇到的元素既不是最大值也不是最小值时,计数器增加。
阅读全文