习题6-1 分类统计字符个数 (15 分)
时间: 2023-03-19 15:27:37 浏览: 85
题目描述:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
输入格式:
一行字符。
输出格式:
四个整数,分别统计出其中英文字母、空格、数字和其它字符的个数。
输入样例:
Hello World 123!
输出样例:
10 2 3 1
解题思路:
本题需要统计四种字符的个数,可以使用一个数组来存储每种字符的个数,然后遍历输入的字符串,根据字符的 ASCII 码值判断它属于哪一类字符,最后输出数组中的四个元素即可。
代码实现:
相关问题
习题6-1 分类统计字符个数
好的,我来回答你的问题。
针对习题6-1 分类统计字符个数,我们可以编写一个程序,从键盘输入一行字符,统计其中英文字母、空格、数字和其他字符的个数,最后输出统计结果。
下面是一个C++的示例代码,可以实现这个功能:
```c++
#include <iostream>
using namespace std;
int main()
{
char ch;
int letter = 0, space = 0, digit = 0, other = 0;
cout << "请输入一行字符:" << endl;
while((ch = cin.get()) != '\n')
{
if(isalpha(ch))
letter++;
else if(isspace(ch))
space++;
else if(isdigit(ch))
digit++;
else
other++;
}
cout << "字母个数:" << letter << endl;
cout << "空格个数:" << space << endl;
cout << "数字个数:" << digit << endl;
cout << "其他字符个数:" << other << endl;
return 0;
}
```
以上代码中,我们首先定义了四个变量 letter、space、digit 和 other,分别用来统计英文字母、空格、数字和其他字符的个数。然后通过循环逐个读取输入的字符,并根据其类型增加相应变量的值。最后输出统计结果。
希望我的回答对你有所帮助。
PTA 7-271 统计字符个数
这是一个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()` 去掉。