编写一个程序,实现以下功能:输入一个可能带空格字符的字符串(长度不超过100),统计其中各个英文字母的出现次数,不区分大小写。输出字母a~z的出现次数,数据间以英文逗号分隔。非英文字母不统计。 输入:可能带空格的字符串。 输出:26个整数,以英文逗号分隔。
时间: 2024-05-02 19:22:58 浏览: 98
好的,我理解了你的要求。以下是实现该功能的Python代码:
```
# 输入字符串
input_str = input()
# 将字符串转换为小写
input_str = input_str.lower()
# 初始化出现次数为 0
count_list = [0] * 26
# 统计各个字母出现次数
for ch in input_str:
if 'a' <= ch <= 'z':
count_list[ord(ch) - ord('a')] += 1
# 输出结果
print(','.join(str(count) for count in count_list))
```
你可以将该代码复制到你的Python环境中运行,输入需要统计的字符串后,即可得到26个英文字母出现次数。请注意,该代码没有进行输入合法性判断,如果输入非法字符,可能会导致程序崩溃。
相关问题
编写程序,输入一个长度不超过50个字符的字符串,去掉其中的全部空格并输出
要编写一个简单的程序,去除字符串中的空格,你可以使用以下C语言代码示例:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int j = 0;
for(int i = 0; str[i] != '\0'; i++) { // 遍历字符串
if(str[i] != ' ') { // 如果不是空格
str[j++] = str[i]; // 把非空格字符复制到新位置
}
}
str[j] = '\0'; // 添加终止符
}
int main() {
char input[51]; // 输入字符串,包括空格,最大50个字符
printf("请输入一个长度不超过50个字符的字符串:");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 去掉字符串末尾的换行符
input[strcspn(input, "\n")] = '\0';
removeSpaces(input); // 调用函数移除空格
printf("去除空格后的字符串是:%s\n", input);
return 0;
}
```
在这个程序中,我们首先定义了一个函数`removeSpaces`,它遍历输入的字符串,跳过空格,然后将非空格字符复制到新的位置。主函数中读取用户的输入,去掉了末尾的换行符,然后调用`removeSpaces`函数,最后打印结果。
C编写程序,输入一串字符(含空格、字母和数字,长度不超过100),统计字母个数
要编写一个C程序来统计输入的一串字符中的字母个数,你可以使用`ctype.h`库中的`isalpha()`函数来检查每个字符是否为字母。以下是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char input[101]; // 定义一个足够大的数组来存储字符串
int count = 0; // 初始化字母计数器
printf("请输入一串字符(含空格、字母和数字,长度不超过100): ");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串,不包括换行符
// 遍历输入字符串,只对非空格字符进行计数
for (size_t i = 0; i < strlen(input); i++) {
if (isalpha(input[i])) { // 检查字符是否为字母
count++;
}
}
printf("输入的字符串中有 %d 个字母。\n", count);
return 0;
}
```
在这个程序中,我们首先提示用户输入字符串,然后使用`fgets()`读取输入并将其存储在`input`数组中。接着遍历这个数组,对每一个元素调用`isalpha()`函数,如果返回值为真(即字符是字母),就增加计数器`count`。最后输出字母的总数。
阅读全文