題目來源html
給定一個 k 位整數 1 (0, ,, dk−1>0),請編寫程序統計每種不一樣的個位數字出現的次數。例如:給定 0,則有 2 個 0,3 個 1,和 1 個 3。java
每一個輸入包含 1 個測試用例,即一個不超過 1000 位的正整數 N。ios
對 N 中每一種不一樣的個位數字,以 D:M
的格式在一行中輸出該位數字 D
及其在 N 中出現的次數 M
。要求按 D
的升序輸出。數組
100311
0:2 1:3 3:1
題目給的是1000位的整數,因此用字符串保存這一串數字測試
用一個長度爲10的數組,記錄0-9各個數字出現的次數就能夠了,arr[0]表示0出現的次數,以此類推spa
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 int main() 6 { 7 int arr[10] = { 0 }; 8 string N; 9 cin >> N; 10 for (int i = 0; i < N.size(); ++i) 11 { 12 arr[N[i] - '0']++; 13 } 14 15 for (int i = 0; i < 10; ++i) 16 { 17 if (arr[i] != 0) 18 { 19 printf("%d:%d\n",i, arr[i]); 20 } 21 } 22 return 0; 23 }
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 String N = sc.next(); 7 int[] arr = new int[10]; 8 for (int i = 0; i < N.length(); ++i) { 9 arr[N.charAt(i) - '0']++; 10 } 11 12 for (int i = 0; i < 10; ++i) { 13 if (arr[i] != 0) { 14 System.out.printf("%d:%d\n", i, arr[i]); 15 } 16 } 17 } 18 }