题解 | #整型数组合并#

整型数组合并

http://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b

/*
合并数组后快速排序
打印过的数不再打印
*/

#include<stdio.h>
#include<string.h>

int cmp(const void *a, const void *b){
    if(*(int*)a > *(int*)b) return 1;
    else return -1;
}

int main(){
    int n1 = 0;
    scanf("%d\n",&n1);
    int nums1[n1];
//接收第一个数组
    for(int i = 0; i < n1; i++){scanf("%d",&nums1[i]);}
    int n2 = 0;
    scanf("%d\n",&n2);
    int n3 = n1 + n2;
    int nums2[n3];
//合并第一个数组到新数组
    for(int i = 0; i < n1; i++){
        nums2[i] = nums1[i];
    }
//接收第二个数组到第一个数组末尾
    for(int i = n1; i < n3; i++){scanf("%d",&nums2[i]);}
//快速排序
    qsort(nums2,n3,sizeof(int),cmp);
//重复值不打印,防止第一个数字出现问题,额外先打印第一个数
    int temp = nums2[0];
    printf("%d",nums2[0]);
    for(int i = 1; i < n3; i++){
        if(nums2[i]!=temp){
            printf("%d",nums2[i]);
            temp = nums2[i];
        }
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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