题解 | 明明的随机数
明明的随机数
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;
}