将数组arr的元素与删除的元素进行对比,如果不同,可以直接输出;如果相同,将不同的元素放在另一个数组里面,这时循环i会跳出来,在下个循环里面使用,把arr下标加1放在arr1数组里面,因为删除了一个元素,所以循环体条件会少一个。
#include <stdio.h>
int main()
{
int n = 0;
int arr[50] = { 0 };
int arr1[50] = { 0 };
scanf("%d", &n);
int i = 0;
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int m = 0;
scanf("%d", &m);
for (i = 0; i < n; i++)
{
if (arr[i] != m)
{
arr1[i] = arr[i];
printf("%d ", arr1[i]);
}
}
for (int j = i; j < n - 1; j++)
{
arr1[j] = arr[j + 1];
printf(" %d ", arr1[j]);
}
return 0;
}

京公网安备 11010502036488号