統計不同英文字母的個數【C語言】

網上看了以下,統計英文字母個數的答案很少,要不就是答非所問。
所以自己寫了一個:

#include<stdio.h>

int numberOfLetter(const char str[]) {

	int i;
	int num = 0;
	int all_Letter[256] = { 0 };
	//創建一個大小爲常用 ASCII 字符集數量大小的數組
	//將 數組下標 與 字符對應的 ASCII 碼值 一一對應

	while (*str) {
		
		if ((*str >= 'A' && *str <= 'Z') || (*str >= 'a' && *str <= 'z'))//篩選字母
			all_Letter[*str] = 1;

		++str;
	}

	for (i = 0; i < 256; i++)
		num += all_Letter[i];

	return num;
}

int main(void) {

	char str[100];
	int letterNum;

	printf("Enter a string: ");
	scanf("%s", str);

	letterNum = numberOfLetter(str);

	printf("The string %s has %d different letters.\n", str, letterNum);

	return 0;
}

歡迎指正我的錯誤,給出你更好的解法!
如果你有什麼疑問,可以關注我的公衆號【不會編程的程序圓】在後臺直接私信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章