原题地址:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1011
将输入的两个数组放在一起排序,排序后如果前后两个数相同就不须打印
#include <iostream>
#include <algorithm>
using namespace std;
int comp(const void* a,const void*b)
{
int * aa = (int *)a;
int * bb = (int *)b;
return *aa - *bb;
}
int main(){
int i,num,input[42],flag,len;
cin>>num;
while( num != 0 )
{
num--;
flag = 0;
len = 0;
while(flag<2 && len<42)
{
cin>>input[len];
if(input[len] == 0)
flag++;
len++;
}
qsort(input,len,sizeof(int),comp);
//quickSort(input,0,len-1);
flag = 0;
cout<<"{";
for(i=2;i<len;i++)
{
if(input[i] == input[i+1])
{
i += 1;
}
else
{
if(flag == 0)
{
cout<<input[i];
flag = 1;
}
else
cout<<","<<input[i];
}
}
cout<<"}";
cout<<endl;
}
system("PAUSE");
return 0;
}