将数组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;
}