题解 | #序列中删除指定数字#

序列中删除指定数字

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;
}

全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务