用c语言删除一维数组中下标为k的元素。其中 n和k 都是用户输人的数值。n是数组元素个数,k是[0,n-1]区间内的数。 输入样例: 元素个数:6 数组为:1 2 3 4 5 6 删除的位置:3 输出样例: 删除后的数组:1 2 3 5 6
时间: 2024-02-18 16:03:05 浏览: 65
好的,这是一个数组删除元素的问题。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int n, k, i, j;
printf("元素个数:");
scanf("%d", &n);
int arr[n];
// 输入数组
printf("数组为:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输入要删除的位置
printf("删除的位置:");
scanf("%d", &k);
// 删除指定位置的元素
for (i = k; i < n - 1; i++) {
arr[i] = arr[i + 1];
}
n--;
// 输出删除后的数组
printf("删除后的数组:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
代码思路:
1. 首先输入数组的元素个数 n,并定义一个长度为 n 的数组 arr。
2. 循环输入数组的每个元素。
3. 输入要删除的位置 k。
4. 遍历数组,将从 k 开始的每个元素向前移动一个位置,覆盖掉要删除的元素。
5. 数组长度减 1。
6. 循环输出删除后的数组。
注意:
1. 数组下标从 0 开始。
2. 在删除元素时,要从 k 开始向后遍历,将每个元素向前移动一个位置,直到数组结尾,最后将数组长度减 1。
阅读全文