#include
#include
#include
using namespace std;
int a[110], d, n;
int main(){
scanf("%d", &n);//n元素的个数
for(int i = 0; i < n; ++i){
scanf("%d", &a[i]);
}
scanf("%d", &d);
//第一种方法 不改变数组的元素
for(int i = 0; i < n; ++i){
if(a[i] != d){
printf("%d ", a[i]);
}
}
//第二种方法, 会改变数组元素
sort(a, a + n);//数组从小到大排序
int amount = 0;
for(int i = 0; i < n; ++i){
if(a[i] == d){
++amount;
}//找到数组中值为d元素个数
else if(amount != 0){
a[i - amount] = a[i];//每个元素向前移
}
}
for(int i = 0; i < n - amount; ++i){
printf("%d ", a[i]);
}
}
两种方法,望采纳,谢谢~~~