1. 程式人生 > >統計字串中字元個數

統計字串中字元個數

因為ASCII碼只有256個,故可以這樣做:

#pragma warning(disable:4996)
#include<cstdio>
#include<cstdlib>
#include<cstring>
char str[200];
int cnt[256];
void CountChar(char* str) {
	//統計每個字元出現的個數並列印
	memset(cnt, 0, sizeof(cnt));//清空cnt陣列
	for (int i = 0; i < strlen(str); i++) {
		cnt[str[i]]++;//統計每個字元的個數
	}
	for (int i = 0; i < 256; i++) {
		if(cnt[i]>0)
			printf("%c  %d\n", i, cnt[i]);//列印
	}
}
int main()
{
	while (~scanf("%s", str)) {
		if (strcmp(str,"0")==0)break;
		CountChar(str);
	}
	system("pause");
	return 0;
}