输入一个字符串,统计该字符串中各个字符的数量,并按字符输入顺序而非字母表顺序输出各字符数量
时间: 2024-05-12 15:12:55 浏览: 15
好的,可以使用Python编写程序实现。以下是代码示例:
```python
str = input("请输入一个字符串:")
# 使用字典存储字符及其数量
char_dict = {}
# 遍历字符串,统计字符数量
for char in str:
if char in char_dict:
char_dict[char] += 1
else:
char_dict[char] = 1
# 按输入顺序输出各字符数量
for char in str:
if char in char_dict:
print(char + ":" + str(char_dict[char]))
del char_dict[char]
```
示例输出:
```
请输入一个字符串:hello world
h:1
e:1
l:3
o:2
:1
w:1
r:1
d:1
```
相关问题
输入一个字符串,统计该字符串中各个字符的数量,并按字符输入顺序而非字母表顺序输出各字符数量 用java实现
可以使用一个 HashMap 来记录每个字符出现的次数,遍历字符串时,如果字符已经在 HashMap 中出现过,就将次数加 1,否则将该字符加入 HashMap 中并将次数设置为 1。最后按照输入顺序输出每个字符及其出现次数。
以下是 Java 代码实现:
```java
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class CharacterCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String input = scanner.nextLine();
Map<Character, Integer> characterCount = new LinkedHashMap<>(); // 用 LinkedHashMap 保证按输入顺序输出
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (characterCount.containsKey(c)) {
characterCount.put(c, characterCount.get(c) + 1);
} else {
characterCount.put(c, 1);
}
}
for (Map.Entry<Character, Integer> entry : characterCount.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
这里使用了 LinkedHashMap 来保证按输入顺序输出,如果不需要保证顺序,也可以使用 HashMap。
python按字母表顺序统计输入字符串中所有字母的个数
以下是一个Python程序,可以按字母表顺序统计输入字符串中所有字母的个数:
```
string = input("请输入字符串:")
string = string.lower() # 将所有字母转换为小写字母,以便统计
# 创建一个字典,用于存储每个字母的出现次数
count_dict = {}
# 遍历字符串中的每个字符,统计每个字母的出现次数
for char in string:
if char.isalpha(): # 如果字符是字母
if char in count_dict: # 如果字母已经在字典中
count_dict[char] += 1
else: # 如果字母不在字典中
count_dict[char] = 1
# 将字典按字母表顺序排序
sorted_dict = dict(sorted(count_dict.items()))
# 输出每个字母的出现次数
for key, value in sorted_dict.items():
print(key, ":", value)
```
这个程序首先要求用户输入一个字符串,然后将字符串中的每个字母转换为小写字母,并创建一个空字典来存储每个字母的出现次数。
接下来,程序遍历字符串中的每个字符,如果该字符是字母,则将它的出现次数加入到字典中。如果字母已经在字典中,则将它的出现次数加1;否则,将它的出现次数设置为1。
最后,程序将字典按字母表顺序排序,并输出每个字母的出现次数。