题目描述
在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。
输入
第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。
第二行是要插入的数。
第三行是要删除的数。
输出
第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。
第二行输出插入后自小到大排好序的数,以“,”隔开。
第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。
样例输入
100 98 79 63 44 99 -1
88
79
样例输出
44,63,79,98,99,100
44,63,79,88,98,99,100
44,63,88,98,99,100
#include<iostream>
using namespace std;
void show(int a[],int n){
int t,i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<n-1;i++)
cout<<a[i]<<",";
cout<<a[n-1]<<endl;
}
int main(){
int a[10000],n=0,j=0,add,del,i,b[10000];
do{
cin>>a[n++];
}while(a[n-1]!=-1);
n--;
cin>>add;
cin>>del;
if(n==0)cout<<"No elements."<<endl;
else show(a,n);
a[n]=add;
n=n+1;
show(a,n);
for(i=0;i<n;i++){
if(a[i]!=del)
b[j++]=a[i];
}
if(j==0)cout<<"No elements."<<endl;
else show(b,j);
return 0;
}