题解 | #去重排序一次搞定#

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]);
    }
}
全部评论

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务