题解 | #序列中删除指定数字#
序列中删除指定数字
http://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h>
int main()
{
int n = 0;
int arr[50] = { 0 };
int k = 0; //要删除的数字
//输入
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &k);
//删除
int i = 0; //作为遍历数组的下标
int j = 0; //作为存储数组元素的下标
int cnt = 0; //记录删除的元素个数
while (i < n)
{
if (arr[i] != k)
{
arr[j++] = arr[i++];
}
else
{
//删除成功
i++;
cnt++;
}
}
//输出 - 最后数组中元素个数为j
for (int i = 0; i < j; i++)
{
printf("%d ", arr[i]);
}
return 0;
} 编程初学者入门训练 文章被收录于专栏
针对编程初学者入门训练130题的代码详解专栏,内附注释方便理解,牛客130题的代码均用C语言实现,方便初学者学习。
