题解 | 明明的随机数

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

#include <stdio.h>
#include <stdlib.h>

int compare(const void* a, const void* b) {
    return *(int*)a - *(int*)b;
}

int main() {
    int length;
    scanf("%d", &length);
    int* integers = (int*)malloc(sizeof(int)*length);
    int index = 0;
    int temp;
    for (int i=0; i<length; i++) {
        scanf("%d", &temp);

        if (i == 0) {
            integers[index] = temp;
            index ++;
            continue;
        }

        for (int j=0; j<index; j++) { // 不能使用sizeof(integers)/sizeof(int)表示元素个数
            if (temp == integers[j]) {
                break;
            }
            if (temp != integers[j] && j == index-1) {
                integers[index] = temp;
                index ++;
            }
        }
    }

    integers = (int*)realloc(integers, sizeof(int)*index);

    qsort(integers, index, sizeof(int), compare);

    for (int i=0; i<index; i++) {
        printf("%d\n", integers[i]);
    }


    free(integers);
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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