1. 程式人生 > 其它 >統計正整數的個數-XDOJ

統計正整數的個數-XDOJ

技術標籤:XDOJc語言

標題:統計正整數的個數
類別:流程控制
問題描述:統計n個正整數中每個數出現的次數。
輸入說明:第一行是一個整數n(5<n<30),表示待統計整數的個數;
第二行是n個整數,每個整數均小於100000
輸出說明:按照整數從小到大的順序依次輸出不同的整數及其出現次數,整數和出現次數之間用冒號(:)分隔
輸入樣例
12
19 223 35 321 2 33 44 223 2 19 2 19
輸出樣例
2:3
19:3
33:1
35:1
44:1
223:2
321:1

思路:建立一個數組,將輸入的數字num存於陣列a中,此時,數字n指向一個元素,每次輸入n,都會使a[num]自增。

(當然,該思路僅供參考,採用for迴圈輸入也可)

#include <stdio.h>

int a[1000000]={0}
/*對陣列元素進行初始化,防止出現垃圾值.
陣列用於儲存輸入值出現的次數,在for迴圈中
每輸入一個數num,a[num]自增一次,這樣便可
儲存num出現的次數。*/

int main() {
	int num;
    int n,i;
    scanf("%d", &n);
    while (n--) {
        scanf("%d", &num);
        a[num]++;
        //當輸入數字num時,a[num]自增。
} for (i = 0; i < 1000000; i++) { if (a[i]) { printf("%d:%d\n", i, a[i]); } else continue; } //從0開始判斷是否數字是否出現,若出現則輸出該數字及出現的次數 return 0; //養成好習慣! }