移除数组中某个数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
int RemoveElem(int* br, int n,int val)
{
assert(br != nullptr && n > 1);
int i = 0;
int j = 0;
for (j = 0; j < n; ++j)
{
if (br[j] != val)
{
br[i] = br[j];
++i;
}
}
return i;
}
int main()
{
const int n = 10;
int val = 0;
int ar[n] = { 12,12,12,23,34,12,56,12,12,78 };
int i = 0;
printf("please enter a val:");
scanf_s("%d", &val);
i = RemoveElem(ar, n, val);
for (int j = 0; j < i; ++j)
{
printf("%d ", ar[j]);
}
return 0;
}
输入想要移除的数字,整个数组中从第一个不是目标数字开始,依次覆盖前面的数字,并记录下一共多少不同的数,输出的时候只输出前几位。