【C++练习】14.C++统计字符串中字母、数字、空格和其他字符的个数
目录
- C++统计字符串中各类字符数量的方法详解
-
- 方法一:使用标准库函数和循环
-
- 思考:
- 代码解析:
- 优点:
- 方法二:使用ASCII值比较
-
- 思考:
- 代码解析:
- 优点:
- 缺点:
- 方法三:使用STL算法
-
- 思考:
- 代码解析:
- 优点:
- 缺点:
- 方法四:使用switch语句
-
- 思考:
- 代码解析:
- 优点:
- 缺点:
- 综合比较
C++统计字符串中各类字符数量的方法详解
我将详细讲解上述四种方法的思考逻辑和代码含义,帮助你理解每种方法的实现原理和适用场景。
方法一:使用标准库函数和循环
思考:
这种方法利用了C++标准库中的字符分类函数,是最直接和可读性最好的方法。它逐个检查字符串中的每个字符,使用专门的函数来判断字符类型。
代码解析:
void countCharacters(const std::string &str) {int letters = 0, digits = 0, spaces = 0, others = 0;// 使用范围for循环遍历字符串中的每个字符for (char ch : str) {if (isalpha(ch)) { // 判断是否为字母letters++;} else if (isdigit(ch)) { // 判断是否为数字digits++;} else if (isspace(ch)) { // 判断是否为空白字符(包括空格、制表符等)spaces++;} else { // 其他字符others++;}}// 输出统计结果std::cout << "字母: " << letters << "\n";std::cout << "数字: " << digits << "\n";std::cout << "空格: " << spaces << "\n";std::cout << "其他: