题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
int arr[50] = {0};
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int key = 0;
scanf("%d", &key);
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
arr[i] = 0;
}
}
for (int i = 0; i < n; i++) {
if (arr[i] !=0) {
printf("%d ",arr[i]);
}
}
return 0;
}
我的想法是,反正多余空间里的数字也是0,不如把要删去的数字设置为0,然后输出非0的元素。当然这个想法也算是比较捡漏的方法,条件比较苛刻

查看23道真题和解析