题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
看看吧,好巧妙的勒,我勒个豆 #include <stdio.h> int main() { int n = 0; scanf("%d", &n); int arr[50]; for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } int num = 0; scanf("%d", &num); for (int i = 0; i < n; i++) { if (arr[i] > num || arr[i]<num)//不等于我们就打印 { printf("%d ", arr[i]); } else { while (arr[i] == arr[i + 1])//如果等于了,那么我们就先判断,是不是有多个相邻的同值,有的话我们就让他们不相等位置,出条件时,此时的arr[i]还是等于我们的删除数的,我们跳到上面去还要i++的,所以不用怕,如果没有的话,那我们就不进来,直接跳到上面去++,打印下一个数!你学废了吗? { arr[i] = arr[i + 1]; i++; } } } return 0; }