https://www.patest.cn/contests/gplt/L1-003
L1-003.個(gè)位數(shù)統(tǒng)計(jì)
給定一個(gè)k位整數(shù)N = dk-1*10k-1 +... + d1*101 + d0 (0<=di<=9,i=0,...,k-1, dk-1>0),請編寫程序統(tǒng)計(jì)每種不同的個(gè)位數(shù)字出現(xiàn)的次數(shù)。例如:給定N = 100311,則有2個(gè)0,3個(gè)1,和1個(gè)3。
輸入格式:
每個(gè)輸入包含1個(gè)測試用例,即一個(gè)不超過1000位的正整數(shù)N。
輸出格式:
對N中每一種不同的個(gè)位數(shù)字,以D:M的格式在一行中輸出該位數(shù)字D及其在N中出現(xiàn)的次數(shù)M。要求按D的升序輸出。
輸入樣例:
100311
輸出樣例:
0:2
1:3
3:1
字符串的統(tǒng)計(jì)問題,把字符串的字符弄到數(shù)組里,注意字符“0”轉(zhuǎn)換為int型為它的ASCII碼“48”,因此數(shù)字要減去48。此處數(shù)組a[]的下標(biāo)正好與數(shù)字同步。
#include<stdio.h>#include <string.h>int main(){ char s[1005]; int a[15]={0}; int len,t; scanf("%s",s); len=strlen(s); t=0; for(int i=0;i<len;i++) { t=s[i]-48; a[t]++; //PRintf("gg: %d,%d/n",t,i); } for(int j=0;j<10;j++) { if(a[j]!=0) { printf("%d:%d/n",j,a[j]); } } }
新聞熱點(diǎn)
疑難解答