题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h>
int main() {
int arr[50] = {0};
int size = 0;
int num = 0;//要删除的整数
int*p = arr;
int count = 0;//记录该数字出现的次数
scanf("%d", &size);
for(int i = 0; i < size; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &num);
while (p + count < arr + size)
{
if (*(p + count) == num)
{//若遍历的数字为num,则count++,并遍历下一个数字
count++;
}
else
{//若遍历的数字不是num,则将数字往前移count个数
*p = *(p + count);
p++;
}
}
for(int i = 0; i<size-count; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
查看9道真题和解析