【華為 OJ】 明明的隨機數
阿新 • • 發佈:2019-02-10
題目:
明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作。
Input Param
n 輸入隨機數的個數
inputArray n個隨機整陣列成的陣列
Return Value
OutputArray 輸出處理後的隨機整數
注:測試用例保證輸入引數的正確性,答題者無需驗證。測試用例不止一組。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int len; while (scanf("%d", &len) != EOF) { int i, j, temp, arr[1000], k = 0; //int brr[100]; for (i = 0; i < len; i++) scanf("%d", &arr[i]); for (i = 0; i < len - 1; i++) { for (j = len - 1; j > i; j--) { if (arr[j - 1]>arr[j]) { temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } } /* for (i = 0; i < len; i++) { if (arr[i] != brr[k - 1]) { brr[k] = arr[i]; k++; } }*/ for (i = 1; i <= len; i++) { if (arr[k] != arr[i]) { arr[++k] = arr[i]; } } len = k; for (i = 0; i < len; i++) { printf("%d\n", arr[i]); } } //system("pause"); return 0; }