去重排序

题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;

题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;

#include<stdio.h> 
#include<stdlib.h> 
int cmp(const void *a, const void *b) 
{ 
    return *(int *)a-*(int *)b; 
} 
int main() 
{ 
   int a[101]; 
   int b[101]={0}; 
   int m; 
   int k=0; 
    while(scanf("%d",&m)!=EOF) 
    { 
        int i,j; 
        for(i=0;i<m;i++) 
           scanf("%d",&a[i]);  
         
       for(i=0;i<m;i++) 
          for(j=0;j<m;j++) 
             if(a[i]==a[j]&&i!=j)  
             { a[i]=0;k++;break;} 
        
       qsort(a,m,sizeof(int),cmp); 
          printf("%d\n",m-k); 
         int flag=1; 
           for(i=0;i<m;i++) 
             if(a[i]!=0){ 
                 if(flag){printf("%d",a[i]);flag=0;} 
                 else printf(" %d",a[i]);} 
       
    } 
  return 0; 
} 

 

posted @ 2013-12-31 15:44  博园少主  阅读(168)  评论(0编辑  收藏  举报