题解 | #明明的随机数#
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
#include <math.h> #include <stdio.h> int main() { int a[2000] = {0}, x[2000]; int N, i, j, n, tmp; scanf("%d", &N);//输入个数N for(i = 0;i < N; i++){ scanf("%d", &a[i]);//构建N个数据的数组a[] } for(i = 0;i < N; i++) for (j = i + 1; j < N ; j++) //将重复的元素归0 { if(a[i] == a[j]) { a[j] = 0; } } j = 0; for (i = 0; i < N; i++) { if(a[i] != 0)//把a[]中的非0元素一个个放到x[]中 { x[j] = a[i]; j++; } } i = 0; n = 0; while (x[i] != 0) {//计算x[]中有多少个元素,主要减少运算量 n++; i++; } for (i = 0; i < n; i++) for (j = 0; j < n - i - 1; j++) {//气泡排序法 if(x[j] > x[j+1] ) { tmp = x[j]; x[j] = x[j+1]; x[j+1] = tmp; } } for(i = 0; i < n; i++) printf("%d\n",x[i]); return 0; }