PTA 7-271 统计字符个数
时间: 2024-03-14 21:46:28 浏览: 280
这是一个PAT练习题,需要统计给定字符串中每个字符出现的次数。你需要先读入一个字符串,然后遍历字符串,用哈希表记录每个字符出现的次数,最后输出每个字符及其出现次数即可。下面是一个示例代码:
```c++
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s); // 读入整行字符串
unordered_map<char, int> count; // 哈希表记录字符出现次数
for (char c : s) {
if (isalpha(c)) { // 如果是字母
c = tolower(c); // 统一转换为小写字母
count[c]++;
}
}
for (char c = 'a'; c <= 'z'; c++) { // 输出每个字母及其出现次数
cout << c << ":" << count[c] << endl;
}
return 0;
}
```
这个代码可以处理大小写字母,如果只需要处理小写字母,可以把 `isalpha()` 和 `tolower()` 去掉。
相关问题
pta7-2 统计字符
### PTA题解 7-2 统计字符编程实现
针对PTA题目7-2统计字符的任务,该任务旨在处理给定字符串中的字符频率统计工作。为了完成这一目标,程序需遍历输入字符串,忽略大小写差异,并记录每个字母出现的次数[^1]。
#### Java 实现方案
下面提供了一种基于Java语言的具体实现方法:
```java
import java.util.*;
public class CharacterStatistics {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine().toLowerCase(); // 将所有字符转换成小写字母以便于统一处理
Map<Character, Integer> frequencyMap = new HashMap<>();
for (char c : input.toCharArray()) {
if(Character.isLetter(c)) { // 只关注字母部分
frequencyMap.put(c, frequencyMap.getOrDefault(c, 0) + 1);
}
}
List<Map.Entry<Character, Integer>> list = new ArrayList<>(frequencyMap.entrySet());
// 对列表按照value降序排列
Collections.sort(list, (o1, o2) -> o2.getValue().compareTo(o1.getValue()));
for(Map.Entry<Character, Integer> entry:list){
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
```
这段代码首先读取用户输入的一行文本,并将其全部转化为小写形式以消除大小写的区别对待;接着创建一个`HashMap`用于保存各个不同字母及其对应的频数;随后通过循环迭代整个字符串,在遇到字母时更新其在哈希表内的计数值;最后将这些键值对转存入列表中并通过自定义比较器依据值来进行排序输出结果。
7-5 统计字符出现次数python pta
在Python中,可以通过使用字典来统计字符串中字符出现的次数。首先,我们可以建立一个空字典,用于存储每个字符和它们出现的次数。然后,遍历整个字符串,检查每个字符是否已经在字典中。如果是,将对应的值加1;如果不是,在字典中添加该字符,并将对应的值设为1。最后,打印出每个字符和它们的出现次数。
下面是一个实现该统计功能的简单示例代码:
'''
string = input("请输入一个字符串:")
count_dict = {}
for c in string:
if c in count_dict:
count_dict[c] += 1
else:
count_dict[c] = 1
for key, value in count_dict.items():
print("字符", key, "出现", value, "次")
'''
例如,如果输入字符串为"hello, world!",上述代码将输出:
字符 h 出现 1 次
字符 e 出现 1 次
字符 l 出现 3 次
字符 o 出现 2 次
字符 , 出现 1 次
字符 出现 1 次
字符 w 出现 1 次
字符 r 出现 1 次
字符 d 出现 1 次
字符 ! 出现 1 次
这样,我们就成功地统计了字符串中每个字符出现的次数。
阅读全文
相关推荐














