c语言 集合 去掉最大最小值
时间: 2023-08-24 21:09:29 浏览: 82
你可以使用以下的C语言代码来去掉集合中的最大值和最小值:
```c
#include <stdio.h>
void removeMinMax(int arr[], int size) {
if (size < 3) {
printf("集合中元素数量太少!\n");
return;
}
int max = arr[0];
int min = arr[0];
int maxIndex = 0;
int minIndex = 0;
// 找到最大值和最小值及其索引
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
maxIndex = i;
}
if (arr[i] < min) {
min = arr[i];
minIndex = i;
}
}
// 将最大值和最小值置为集合中的第一个元素
arr[maxIndex] = arr[0];
arr[minIndex] = arr[0];
// 输出去掉最大值和最小值后的集合
printf("去掉最大值和最小值后的集合:");
for (int i = 1; i < size - 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {2, 5, 8, 3, 1, 9, 4};
int size = sizeof(arr) / sizeof(arr[0]);
printf("原始集合:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
removeMinMax(arr, size);
return 0;
}
```
这段代码会输出去掉最大值和最小值后的集合。你可以根据自己的需求修改集合的内容和大小。