如何编写 C 语言程序,使用 for 循环和 if else 语句删除数组中的元素,并附带示例?
使用 If 语句删除数组元素的 C 语言程序
此删除元素的程序允许用户输入一维数组的大小和行元素。接下来,我们使用 For 循环在指定的索引位置查找并删除元素。
#include <stdio.h>
int main()
{
int Array[10], Position, i, Size;
printf("\n Please Enter Number of elements in an array : ");
scanf("%d", &Size);
printf("\n Please Enter %d elements of an Array \n", Size);
for (i = 0; i < Size; i++)
{
scanf("%d", &Array[i]);
}
printf("\n Please Enter a Valid Index Position of a Element that you want to Delete : ");
scanf("%d", &Position);
if(Position < 0 || Position >= Size)
{
printf("\n Please Enter a Valid Index Position between 0 and %d", Size-1);
}
else
{
for (i = Position; i < Size; i++)
{
Array[i] = Array[i + 1];
}
Size--;
}
printf("\n Final Array after Deleteing an Array Elemnt is:\n");
for (i = 0; i < Size; i++)
{
printf("%d\t", Array[i]);
}
return 0;
}

此程序要求用户输入索引位置。a[10] 表示索引位置从 0 开始到 9 结束。
首先,我们使用 If 语句检查用户指定的索引位置是否小于 0 或大于等于大小。如果为真,则会打印错误消息。否则,它将进入 Else 块。
在 Else 块中,我们使用了 For 循环。它将确保位置值介于位置和 一维数组的最大大小值之间。
用户为删除数组元素示例程序输入的值:大小 = 4,元素 = 25 69 73 224,位置 = 2。If 语句内的条件为 False。因此,C 编程编译器将进入 Else 块
For 循环 – 第一次迭代:for(i = 2; 2 < 4; 2++)
条件为 True
Array[i] = Array[i + 1]
[2] = [2 + 1]
这意味着 224
第二次迭代:for(i = 3; 3 < 4; 3++)
条件为 True
[3] = [3 + 1] // 此位置没有值
接下来,我们使用 Size– 来调整数组大小。这意味着 Size 将变为 3,最后将是 25 69 224。让我尝试删除不存在的项目
Please Enter Number of elements in an array : 4
Please Enter 4 elements of an Array
25 46 78 96
Please Enter a Valid Index Position of a Element that you want to Delete : 4
Please Enter a Valid Index Position between 0 and 3
Final Array after Deleteing an Array Elemnt is:
25 46 78 96
第三个输出
Please Enter Number of elements in an array : 5
Please Enter 5 elements of an Array
23 56 89 71 256
Please Enter a Valid Index Position of a Element that you want to Delete : 0
Final Array after Deleteing an Array Elemnt is:
56 89 71 256
使用 for 循环删除数组元素的 C 语言程序
此程序与上面相同。但是,这次我们要求用户指定位置(而不是实际索引位置)。这意味着如果用户输入 4,则此程序将删除索引位置 3 的值。
#include <stdio.h>
int main()
{
int Array[10], Position, i, Size;
printf("\n Please Enter Number of elements : ");
scanf("%d", &Size);
printf("\n Please Enter %d elements \n", Size);
for (i = 0; i < Size; i++)
{
scanf("%d", &Array[i]);
}
printf("\n Please Enter the location of a Element that you want to Delete : ");
scanf("%d", &Position);
if(Position <= 0 || Position > Size)
{
printf("\n Please Enter a Valid Position between 1 and %d", Size);
}
else
{
for (i = Position-1; i < Size; i++)
{
Array[i] = Array[i + 1];
}
Size--;
}
printf("\n Final one after Deleting is:\n");
for (i = 0; i < Size; i++)
{
printf("%d\t", Array[i]);
}
return 0;
}

第二个输出
Please Enter Number of elements : 4
Please Enter 4 elements
99 75 35 55
Please Enter the location of a Element that you want to Delete : 4
Final one after Deleting is:
99 75 35
第三个输出
Please Enter Number of elements : 5
Please Enter 5 elements
25 698 10 55 9
Please Enter the location of a Element that you want to Delete : 0
Please Enter a Valid Position between 1 and 5
Final one after Deleting is:
25 698 10 55 9