统计不同英文字母的个数【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;
}

欢迎指正我的错误,给出你更好的解法!
如果你有什么疑问,可以关注我的公众号【不会编程的程序圆】在后台直接私信。

发布了65 篇原创文章 · 获赞 226 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_44954010/article/details/104753318