从数组中删除元素涉及将下一个数字放置到要删除元素的位置。例如:如果数组元素是 10,5,9,4,我们想删除元素 '5',那么数组就变为 10,9,4。我们将 '9' 放置到元素 '5' 的位置,并将 4 放置到 9 的位置。
在这个 C 程序中,我们需要创建一个元素数组,并打印该数组。我们需要从用户给定的列表或数组中删除一个数字。在这个 C 程序中,我们声明一个数组并接受用户的输入。我们将元素添加到数组中并显示数组。
现在我们要求用户输入要从数组中删除的元素。在我们将数字存储在一个变量中后,我们从零到 n 打开一个 for 循环。在 'for 循环' 中,我们检查每个元素是否与用户输入匹配;如果找到该数字,我们将变量 'found' 设置为 '一'。现在我们所做的是将要删除的元素的位置更改为 i+1,这样下一个数字将占据上一个数字的空间;因此我们删除了用户想要删除的数字。
第一步: 包含头文件,以便在C程序中使用内置函数。
步骤 2: 声明整数数组 nvectx[10] 和整数变量 i, n, pos, element, found,并设置 found=0。
步骤 3: 读取元素数量到 n。
步骤 4: 使用 for 循环 从用户读取数字并将其保存到 vectx[i] 中。
步骤 5: 使用 for 循环 显示输入数组为 vectx[i]。
步骤 6: 从用户读取要删除的元素到变量 component 中。
步骤 7: 使用 for 循环,条件为 i
步骤 8: 检查是否 vectx[i]==element,然后设置 found=1,pos=i 并中断。
步骤 9: 重复步骤 7。
步骤 10: 如果 found==1 则执行步骤 11,否则执行步骤 15。
步骤 11: 设置 i=pos。
步骤 12: 检查 i
步骤 13: 将 'i' 增加 1 并执行步骤 12。
步骤 14: 使用 for 循环 显示结果向量,即 vectx[i] 的元素。
步骤 15: 显示向量中“未找到的元素”。
#include <stdio.h>
void main() {
int vectx[10];
int i, n, pos, element, found = 0;
printf("Enter how many elements\n");
scanf("%d", & n);
printf("Enter the elements\n");
for (i = 0; i < n; i++) {
scanf("%d", & vectx[i]);
}
printf("Input array elements are\n");
for (i = 0; i < n; i++) {
printf("%d\n", vectx[i]);
}
printf("Enter the element to be deleted\n");
scanf("%d", & element);
for (i = 0; i < n; i++) {
if (vectx[i] == element) {
found = 1;
pos = i;
break;
}
}
if (found == 1) {
for (i = pos; i < n - 1; i++) {
vectx[i] = vectx[i + 1];
}
printf("The resultant vector is \n");
for (i = 0; i < n - 1; i++) {
printf("%d\n", vectx[i]);
}
} else
printf("Element %d is not found in the vector\n", element);
} /* End of main() */
Run 1 Enter how many elements 5 Enter the elements 30 10 50 20 40 Input array elements are 30 10 50 20 40 Enter the element to be deleted 35 Element 35 is not found in the vector Run 2 Enter how many elements 4 Enter the elements 23 10 55 81 Input array elements are 23 10 55 81 Enter the element to be deleted 55 The resultant vector is 23 10 81