用c语言写一个一维数组中把数组中最大的数删除掉
时间: 2024-04-29 15:26:01 浏览: 102
C语言第07章-一维数组和二维数组1完整.pptx
好的,我可以为您提供一个示例代码来实现这个任务:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE], i, n, max, index;
printf("请输入数组大小:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
max = arr[0];
index = 0;
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
for (i = index; i < n - 1; i++) {
arr[i] = arr[i + 1];
}
n--;
printf("删除最大数后的数组:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
代码解析:
首先,用户输入数组大小和数组元素,然后从输入的数组中寻找最大元素。寻找最大元素的过程使用了一个 for 循环遍历整个数组,并使用一个变量 max 记录已经发现的最大元素,使用变量 index 记录最大元素的位置。
接下来,使用另一个 for 循环从最大元素的位置开始,将数组中的所有元素左移,直到最后一个元素被覆盖。在左移数组元素的过程中,数组大小也要相应地减少1。
最后,输出删除最大元素后的数组元素。
请注意,这只是一个示例代码,实际情况下您需要根据自己的需求进行修改。
阅读全文