C语言删除指定值的元素

{1,2,2,3,4,5,6,7,8,9,10}, 删除2
该怎么做
不知道该如何删除这种重复的

img

#include <stdio.h>
int main()
{
    int a[11]={1,2,2,3,4,5,6,7,8,9,10};
    int v,i,n;
    printf("输入待删除的数:"); 
    scanf("%d",&v);
    for(i=n=0;i<11;i++)
        if(a[i]!=v) a[n++]=a[i];
    for(i = 0; i<n; i++)
        printf("%d ", a[i]);
    return 0;
}

数据结构是什么样子的啊?数组?链表?


int a[] = {122345678910};
int b[20];
int j=0;
for(int i=0;i<sizeof(a);i++)
{
   if(a[i] != 2) b[j++] = a[i];
}
//得到的b数组就是删除2之后的