编写程序,对输入的英文字符串中各字母出现的次数进行统计(不区分大写字母和小写字母),统计结果使用字典存放。例如,字符串"I have 2 ideas."的统计结果为{'i':2, 'h':1,'a':2, 'v':1,'e':2, 'd':1, 's':1}。注:用户输入的字符串中可能包含字母以外的其他字符。
时间: 2023-12-03 20:02:13 浏览: 67
以下是统计英文字符串中各字母出现次数的 Python 代码示例:
```python
s = input("请输入英文字符串:") # 输入英文字符串
s = s.lower() # 将字符串中的大写字母转换为小写字母
dic = {} # 创建一个空字典,用于存放统计结果
for c in s:
if c.isalpha(): # 判断当前字符是否为字母
if c in dic:
dic[c] += 1 # 如果字母已经出现过,将其计数加1
else:
dic[c] = 1 # 如果字母没有出现过,将其计数初始化为1
print(dic) # 输出统计结果
```
以上代码中,首先输入英文字符串s,并将其中的大写字母转换为小写字母。然后创建一个空字典dic,用于存放统计结果。接着使用for循环,遍历字符串s中的每一个字符。对于每一个字母,判断它是否为字母,如果是则进行统计。如果字母已经出现过,则将其计数加1;否则,将其计数初始化为1。最后输出字典dic,即为统计结果。
相关问题
编写程序,对用户输入的英文字符串中出现最高次数的字母进行统计(不区分大写字母和小写字母),如果有相同最高次数的字母,按照a,b,c,d依次排列,统计结果使用字典存放
好的,我可以为您编写这样一个程序。以下是 Python 代码实现:
```python
string = input("请输入一个英文字符串:").lower() # 将输入的字符串转换为小写字母
count = {}
for char in string:
if char.isalpha(): # 只统计字母
if char in count:
count[char] += 1
else:
count[char] = 1
max_count = max(count.values()) # 找到出现次数最高的字母出现的次数
result = sorted([char for char, freq in count.items() if freq == max_count]) # 找到出现次数最高的所有字母并按照字典序排序
print("出现次数最高的字母是:")
for char in result:
print(char, end=" ")
```
使用方法:运行程序后会提示输入一个英文字符串,输入后程序会输出出现次数最高的字母。如果有相同最高次数的字母,按照字典序排序后输出。
c语言统计输入字符串中各个字母使用频率 编写一个程序,统计输入一行字符串中各个字母使用频率(大小写不区分),将次数不为零的字母及次数按照字母ASCII码从小到大输出。
以下是C语言统计输入字符串中各个字母使用频率的程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int freq[26] = {0}; // 用于记录每个字母出现的次数,初始化为0
int len, i;
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin); // 从标准输入读入字符串
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
freq[str[i] - 'a']++; // 小写字母
} else if (str[i] >= 'A' && str[i] <= 'Z') {
freq[str[i] - 'A']++; // 大写字母
}
}
printf("各个字母出现的频率为:\n");
for (i = 0; i < 26; i++) {
if (freq[i] != 0) {
printf("%c: %d\n", i + 'a', freq[i]); // 输出字母及其出现次数
}
}
return 0;
}
```