# ZJYYC1149. 删除数组中所有给定的数字
时间限制:
C/C++ 1s
其他语言 2s
空间限制:
C/C++ 32MB
其他语言 64MB
题目描述
给定一个长度为
�
n 的数组A,再给定一个要删除的数m,将数组中所有数值等于m的数删除得到数组B,并将其输出。如果B为空,输出“empty”。
输入描述
测试样例由多组测试数据组成。
每个样例包含三行,第一行输入一个整数
�
n,表示个数;
第二行输入
�
n 个整数
�
�
a
i
。
第三行输入
�
m,表示要删除的整数。
数据范围:
1
<
=
�
<
=
1000
1<=n<=1000
−
1
0
9
<
=
�
,
�
�
<
=
1
0
9
−10
9
<=m,a
i
<=10
9
输出描述
对于每个样例,在一行输出数组B,输出的顺序按原来输入的先后顺序,且每个数之间以空格分隔,最后一个数的末尾不能有空格。如果B为空,输出“empty”。
测试样例1
输入
5
1 4 1 5 6
1
3
1 1 1
1
输出
4 5 6
empty
以下为c++代码实现流程
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
int n = 1;
int i;
while (scanf("%d", &n) != EOF) {
int num;
int sum = 0;
int a[n];
for (i = 0; i < n; i++) {
cin >> a[i];
sum = sum + a[i];
}
cin >> num;
int d = num * n;
for (i = 0; i < n ; i++) {
if ((num != a[i]&&n*num>=sum)||(n*num<=sum&&num!=a[i]) ) {
cout << a[i] << " ";
} else if (num == a[i] && n * num == sum&&num==a[i+1]) {
cout << "empty";
break;
}
}
cout << endl;
}
}