题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h> int main() { int n = 0; int del = 0; int arr[100] = { 0 }; int sub[100] = { 0 };//记录和要删去的数字一样的元素的下标 scanf("%d", &n);//数组元素的个数 for (int i = 0; i < n; i++) { scanf("%d", &arr[i]);//给数组赋值 } scanf("%d", &del);//输入要删掉的元素 int flag = 0;//如果flag在del遍历完arr后依旧是0,那么arr里面没有和del一样的元素 for (int i = 0; i < n; i++) { if (del == arr[i]) { sub[flag] = i;//记录这个元素的下标 flag++;//找到一个,加一 } } if (flag != 0) { int j = 0; for (int i = 0; i < n; i++) { if (i != sub[j])//输出不是要删掉的元素,如遇到要删掉的元素就跳过去 { printf("%d ", arr[i]); } else { j++; } } } else { for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } } return 0; }