B1021個位數統計 15

2021-08-22 07:09:56 字數 1105 閱讀 2605

1021 個位數統計 (15)(15 分)

給定乙個k位整數n = d~k-1~*10^k-1^ + ... + d~1~*10^1^ + d~0~ (0<=d~i~<=9, i=0,...,k-1, d~k-1~>0),請編寫程式統計每種不同的個位數字出現的次數。例如:給定n = 100311,則有2個0,3個1,和1個3。

輸入格式:

每個輸入包含1個測試用例,即乙個不超過1000位的正整數n。

輸出格式:

對n中每一種不同的個位數字,以d:m的格式在一行中輸出該位數字d及其在n中出現的次數m。要求按d的公升序輸出。

輸入樣例:

100311
輸出樣例:

0:2

1:33:1

思路:

用乙個字元陣列接收輸入樣例,

再用乙個整型的陣列來記錄1~9對應數字的出現次數. int count[10]=;出現乙個count[str[i]-'0']++;

用中的strlen();獲取到字元陣列的長度後

用for遍歷字元數字裡的每乙個字元,

count[str[i]-'0'] (或者count[str[i]-48];)將字元轉換成數字,

例如:str[0]=4;  str[0]-48就是4,count[4]++;

最後從小到大列印count[10]陣列中的非0值,

summary:

字元和整型數字的轉化:   '0'-48=0     或者   '0'-'0'=0

'1'-48=1    或者     '1'-'0'=1

因為'0'的ans值為48,   

oj不能用gets(); 

#include #include int main();

char str[1010];

scanf("%s",str);

int len=strlen(str);

for(int i=0;ifor(int i=0;i} return 0;

}

B1021 個位數統計 15

給定乙個k位整數n dk 1 10k 1 d1 101 d0 0 di 9,i 0,k 1,dk 1 0 請編寫程式統計每種不同的個位數字出現的次數。例如 給定n 100311,則有2個0,3個1,和1個3。輸入格式 每個輸入包含1個測試用例,即乙個不超過1000位的正整數n。輸出格式 對n中每一種...

B1021 個位數統計

給定乙個k位整數n dk 1 10k 1 d1 101 d0 0 di 9,i 0,k 1,dk 1 0 請編寫程式統計每種不同的個位數字出現的次數。例如 給定n 100311,則有2個0,3個1,和1個3。輸入格式 每個輸入包含1個測試用例,即乙個不超過1000位的正整數n。輸出格式 對n中每一種...

B1021 個位數統計

1021 個位數統計 15 分 給定乙個 k 位整數 n dk 110k 1 d1101 d0 0 di 9,i 0,k 1,dk 1 0 請編寫程式統計每種不同的個位數字出現的次數。例如 給定 n 100311,則有 2 個 0,3 個 1,和 1 個 3。輸入格式 每個輸入包含 1 個測試用例,...