1. 程式人生 > >1021 個位數統計(15 分)

1021 個位數統計(15 分)

mat ace inner iostream end 升序 ott pre ble

給定一個 k 位整數 N=d?k?1??10?k?1??+?+d?1??10?1??+d?0?? (0d?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:3
3:1


#include<iostream>
using
namespace std; int main(){ string n; int m[10]={0}; cin>>n; int i; for(i=0;i<n.length();i++) { switch(n[i]-0) { case 0:m[0]++;break; case 1:m[1]++;break; case 2:m[2]++;break; case 3:m[3]++;break;
case 4:m[4]++;break; case 5:m[5]++;break; case 6:m[6]++;break; case 7:m[7]++;break; case 8:m[8]++;break; case 9:m[9]++;break; } } for(i=0;i<10;i++){ if(m[i]!=0) cout<<i<<":"<<m[i]<<endl; } }

1021 個位數統計(15 分)