54 删除数组元素

54 删除数组元素

作者: Turbo时间限制: 1S章节: 一维数组

问题描述 :

已有一维数组,存储不超过100个整型数据,由用户输入一个元素值,从数组中删除与该值相等的所有元素(考虑到元素值可能重复,因此可能删除多个元素),并输出结果数组。

输入说明 :

用户可输入多组数据,每组数据由三行组成:

第一行:数组元素的个数n

第二行:n个数组元素,由空格分隔

第三行:需要删除的元素

输出说明 :

对于每组输入,输出最后的结果,整数之间以空格分隔。每行的开头与结尾无多余空格。

每组输出占一行。

如果结果数组为空,则输出“Empty array!”。

输入范例 :
5
1 2 3 4 5
3
20
1 2 3 1 2 3 4 5 6 7 1 2 3 1 2 3 4 5 6 7
2

输出范例 :
1 2 4 5
1 3 1 3 4 5 6 7 1 3 1 3 4 5 6 7

代码

#include <stdio.h>
int main()
{
	int n, m;
	int num1[100] = { 0 }, num2[100] = {0};
	int k = 0;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &num1[i]);
		}
		scanf("%d", &m);
		for (int i = 0; i < n; i++)
		{
			if (num1[i] != m)
			{
				num2[k++]=num1[i];
			}
		}
		if (k == 0)
		{
			printf("Empty array!
");
		}
		else
		{
			for (int i = 0; i <k; i++)
			{
				printf("%d", num2[i]);
				if (i < k - 1)
				{
					printf(" ");
				}
			}
			printf("
");
		}
		k = 0;
	}
	return 0;
}
Yesterday is history,tomorrow ismystery,but today is a gift!That why it is called Present!
原文地址:https://www.cnblogs.com/VictorierJwr/p/12775246.html