Donbdha


私信TA

用户名:W2454716805u

访问量:3703

签 名:

等  级
排  名 1027
经  验 3308
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 温州大学瓯江学院
专  业

  自我简介:

解题思路:排序直接调用stdlib.h里的qsort函数,排序之后把数组从后往前查重,遇到重复的就置-1(随机数不会为负)

注意事项:

参考代码:

#include <stdio.h>

#include<string.h>

#include<stdlib.h>


int cmp(const void *a,const void *b)

{

    return *(int *)a - *(int *)b;

}

int main()

{

    int N = 0;

    int a[100] = {0};

    scanf("%d",&N);

    for(int i = 0;i < N;i++)

        scanf("%d",&a[i]);

    qsort(a,N,sizeof(int),cmp);

    for(int i = N-1;i > 0;i--)

        if(a[i] == a[i-1])

            a[i] = -1;

    int num = 0;

    for(int i = 0;i < N;i++)

        if(a[i] != -1)

            a[num++] = a[i];

    printf("%d\n",num);

    for(int i = 0;i < num;i++)

            printf("%d ",a[i]);

    printf("\n");

    return 0;

}


 

0.0分

0 人评分

  评论区

涨姿势,谢谢啦
2018-12-14 20:29:04
  • «
  • 1
  • »