網上看了以下,統計英文字母個數的答案很少,要不就是答非所問。
所以自己寫了一個:
#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;
}
歡迎指正我的錯誤,給出你更好的解法!
如果你有什麼疑問,可以關注我的公衆號【不會編程的程序圓】在後臺直接私信。