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

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

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
巧克力1:双选会不如教室宣讲会
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务