C语言【问题描述】编写函数实现删除一维整型数组中指定元素,在主函数输入数组和输出数组(假设数组元素各不相同)。 【输入形式】输入删除前的元素个数和数组元素,输入待删除的元素 【输出形式】输出删除后的数组元素 【样例输入】 5 1 3 4 5 2 3 【样例输出】 after delete: 1 4 5 2
时间: 2023-12-01 09:05:01 浏览: 90
a[]的四个数组元素分别为-C语言——数组
好的,这是一道 C 语言编程题,需要编写一个函数来实现删除一维整型数组中指定元素,然后在主函数中输入数组和待删除的元素,最后输出删除后的数组元素。
以下是题目要求的 C 语言代码实现:
```c
#include <stdio.h>
void delete_element(int arr[], int n, int x) {
int i, j;
for (i = 0, j = 0; i < n; i++) {
if (arr[i] != x) {
arr[j] = arr[i];
j++;
}
}
}
int main() {
int n, x;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
scanf("%d", &x);
delete_element(arr, n, x);
printf("after delete: ");
for (int i = 0; i < n - 1; i++) {
printf("%d ", arr[i]);
}
printf("%d\n", arr[n - 1]);
return 0;
}
```
在这段代码中,我们定义了一个 `delete_element` 函数来删除数组中指定元素。这个函数接受三个参数:数组 `arr`、数组长度 `n` 和待删除的元素 `x`。函数利用两个指针 `i` 和 `j` 遍历整个数组,如果当前元素不是待删除元素,就将它复制到新数组的下一个位置,并将 `j` 加一。遍历结束后,新数组的前 `j` 个元素即为删除元素后的数组。
在 `main` 函数中,我们首先读入数组长度 `n`,然后根据数组长度动态分配数组空间。接下来,我们读入数组中的元素和待删除的元素 `x`。然后调用 `delete_element` 函数来删除数组中的指定元素。最后,我们输出删除后的数组元素。
这样,我们就完成了这道编程题的实现。希望对你有所帮助!
阅读全文