c语言去掉最大值和最小值
时间: 2023-07-15 15:12:24 浏览: 206
求五个数中的最大值和最小值
可以采用以下的方法来去掉数组中的最大值和最小值:
1. 先找到数组中的最大值和最小值。
2. 创建一个新数组,将原数组中除了最大值和最小值以外的元素复制到新数组中。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 3, 8, 2, 9, 1, 6, 4, 7}; // 原数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
int max = arr[0], min = arr[0]; // 最大值和最小值的初始值
int i, j, k = 0; // 循环计数器和新数组的下标
// 找到最大值和最小值
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
// 创建新数组并复制元素
int new_arr[n - 2];
for (j = 0; j < n; j++) {
if (arr[j] != max && arr[j] != min) {
new_arr[k] = arr[j];
k++;
}
}
// 输出新数组
printf("去掉最大值和最小值后的数组:\n");
for (i = 0; i < n - 2; i++) {
printf("%d ", new_arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
去掉最大值和最小值后的数组:
5 3 8 6 4 7
```
阅读全文