PTA 7-271 统计字符个数
时间: 2024-03-14 13:46:28 浏览: 32
这是一个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()` 去掉。
相关问题
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 次
这样,我们就成功地统计了字符串中每个字符出现的次数。
7-4PTA统计字符
这段代码的作用是统计输入字符串中每个字符出现的次数,并输出结果。其中,使用一个整型数组来统计次数,不同的下标代表不同的字符。循环遍历输入的字符,使字符对应下标的数量加一即可得到字符的个数。最后输出结果。
需要注意的是,中文数字字符如七算作中英文字符,而不算数字字符。
代码实现如下:
```
#include <stdio.h>
int main() {
char c;
int arr[123] = { 0 };
char str[100];
gets(str);
int j = 0;
while (str[j] != '\0') {
arr[str[j]] += 1;
j++;
}
for (int i = 97; i <= 122; i++) {
if (arr[i] != 0) {
printf("%d ", arr[i]);
}
}
return 0;
}
```
输入样例:"Hi! 天气不错 二十八度 28℃。"
输出样例:"10 3 2 3"