题解 | #去重排序一次搞定#
KiKi去重整数并排序
http://www.nowcoder.com/practice/f59b914172b94c69a2b29ad0a1d9b1a7
这里我把去重、排序、输出和在一个循环里面写了,我觉得排序先写可能会好一点,所以就先进行排序判断,然后再判断是否相同,如果相同就把后者变为0,最后在外层循环判断是否为0,如不为0则输出
int main()
{
int n,arr[1000]={0},temp;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&arr[i]);
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(arr[i]>arr[j])//进行排序
{
temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
else if(arr[i]==arr[j]){//判断两数是否相等
arr[j]=0;//如果相等则后者变0
}
}
if(arr[i]!=0)//这时候第一次去重和排序已经完成,可以直接判断并输出
printf("%d ",arr[i]);
}
}