給定一個(gè)k位整數(shù)N = dk-110k-1 + ... + d1101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0)嚷往,請(qǐng)編寫(xiě)程序統(tǒng)計(jì)每種不同的個(gè)位數(shù)字出現(xiàn)的次數(shù)盏求。例如:給定N = 100311录别,則有2個(gè)0,3個(gè)1伴逸,和1個(gè)3侨歉。
輸入格式:
每個(gè)輸入包含1個(gè)測(cè)試用例,即一個(gè)不超過(guò)1000位的正整數(shù)N偶洋。
輸出格式:
對(duì)N中每一種不同的個(gè)位數(shù)字,以D:M的格式在一行中輸出該位數(shù)字D及其在N中出現(xiàn)的次數(shù)M距糖。要求按D的升序輸出玄窝。
輸入樣例:
100311
輸出樣例:
0:2
1:3
3:1
個(gè)人想法
- 沒(méi)啥難度牵寺,考慮到可能有千位數(shù),因此不可能用一個(gè)變量存起恩脂,所以還是用字符來(lái)做比較合適
- 最后循環(huán)結(jié)束我是用回車(chē)符充當(dāng)結(jié)束標(biāo)志帽氓。
#include <stdio.h>
int main(){
char c;
int i;
int a[10] = {0};
while((c=getchar()) != '\n'){
a[c-'0'] += 1;
}
for(i=0;i<10;i++){
if(a[i]){
printf("%d:%d\n",i,a[i]);
}
}
return 0;
}