用C语言写出输入一个可能带空格字符的字符串(长度不超过100),统计其中各个英文字母的出现次数,不区分大小写。输出字母a~z的出现次数,数据间以英文逗号分隔。非英文字母不统计。 输入:可能带空格的字符串。 输出:26个整数,以英文逗号分隔。
时间: 2024-05-11 10:17:37 浏览: 155
好的,我可以帮您解答这个问题。
以下是C语言实现的代码:
```
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
int count[26] = {0};
char str[100];
printf("请输入一个字符串:\n");
fgets(str, sizeof(str), stdin);
for(int i=0; i<strlen(str); i++)
{
if(isalpha(str[i]))
{
int index = tolower(str[i]) - 'a';
count[index]++;
}
}
printf("%d", count[0]);
for(int i=1; i<26; i++)
{
printf(",%d", count[i]);
}
printf("\n");
return 0;
}
```
这段代码中,我们使用了一个大小为26的数组count来记录每个英文字母的出现次数。首先,我们让用户输入一个字符串,使用fgets函数可以输入带空格的字符串。接着,我们遍历字符串中的每个字符,使用isalpha函数判断是否为英文字母,如果是,使用tolower函数转换为小写字母,并计算其在数组count中的索引,以便更新对应的出现次数。
最后,我们输出数组count中的26个整数,以英文逗号分隔。注意,用printf函数输出数据间的逗号是比较麻烦的,需要先输出第一个数据,然后再循环输出其他数据前加上逗号。
希望能帮到您,有问题随时联系我哦!
阅读全文