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 個測試用例,...