c语言删除最大值最小值
时间: 2023-07-16 07:12:52 浏览: 187
删除数组中的最大值和最小值可以按以下步骤进行:
1. 首先遍历整个数组,找到最大值和最小值以及它们的下标。
2. 然后将最大值和最小值分别删除,即将它们后面的元素依次往前移动一位,数组长度减一。
下面是一个示例代码:
```c
#include <stdio.h>
void delete_max_min(int arr[], int len) {
int max_index = 0;
int min_index = 0;
int i;
// 找到最大值和最小值的下标
for (i = 1; i < len; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 删除最大值和最小值
for (i = max_index; i < len - 1; i++) {
arr[i] = arr[i + 1];
}
len--;
for (i = min_index; i < len - 1; i++) {
arr[i] = arr[i + 1];
}
len--;
// 输出修改后的数组
printf("After deleting the max and min values:\n");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {3, 2, 5, 7, 1, 9, 4, 6, 8};
int len = sizeof(arr) / sizeof(int);
printf("Original array:\n");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
delete_max_min(arr, len);
return 0;
}
```
输出结果:
```
Original array:
3 2 5 7 1 9 4 6 8
After deleting the max and min values:
3 2 5 4 6 8
```
阅读全文