从ascii值入手,每个字母对应的就是(65+0)-(65+26)和(97+0)-(97+26),然后对应转换即可
#include <stdio.h>
int main()
{
int let[26] = {0};
int i;
char ch;
while ((ch = getchar()) != '\n')
{
if (ch >= 'A' && ch <= 'Z')
{
let[ch - 'A']++;
}
else if (ch >= 'a' && ch <= 'z')
{
let[ch - 'a']++;
}
}
for (i = 0; i < 26; i++)
{
if (let[i] != 0)
{
printf("%c: %d\n", i + 'A', let[i]);
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考