第一部分:考点与作答区
考点:
- 字符串拼接
- 字符串分割
- 字符串处理函数(如
+
运算符,std::getline
)
作答区: 编写一个C++程序,完成以下要求:
- 定义一个字符串变量,并初始化为 "Hello, "。
- 通过输入获取一个字符串,并将其拼接到第一步定义的字符串后面。
- 将拼接后的字符串以逗号(
,
)为分隔符进行分割,并打印出分割后的字符串。
请在下方空白处编写代码:
// 在此处编写代码
第二部分:解题思路与答案
解题思路:
- 使用
std::string
类型来定义和操作字符串。 - 使用
+
运算符进行字符串拼接。 - 使用
std::getline
函数来从标准输入读取一行字符串。 - 使用
std::istringstream
和std::getline
函数来按逗号分割字符串。
答案:
#include <iostream>
#include <string>
#include <sstream>
int main() {
// 初始化字符串
std::string str = "Hello, ";
// 获取输入并拼接
std::string input;
std::getline(std::cin, input);
str += input;
// 分割字符串并打印
std::istringstream iss(str);
std::string token;
while (std::getline(iss, token, ',')) {
// 去除可能的空白字符
token.erase(0, token.find_first_not_of(' '));
token.erase(token.find_last_not_of(' ') + 1);
std::cout << token << std::endl;
}
return 0;
}
这段代码首先定义了一个字符串 str
并初始化为 "Hello, "。然后,它读取用户输入并使用 +
运算符将输入拼接到 str
。接着,使用 std::istringstream
和 std::getline
来按逗号分割字符串,并打印出每个分割后的字符串。
第三部分:扩展考点与扩展作答区
扩展考点:
- 字符串中单词数量的统计
- 字符串中特定字符的计数
扩展作答区: 在原有程序的基础上,增加以下功能:
- 统计分割后的字符串中单词的数量,并打印出来。
- 计算并打印出原字符串中特定字符(例如逗号
,
)出现的次数。
请在下方空白处编写代码:
// 在此处编写代码
第四部分:扩展解答思路与答案
扩展解答思路:
- 在分割字符串的过程中,通过增加一个计数器来统计单词的数量。
- 使用一个循环遍历原字符串,通过比较字符来统计特定字符(如逗号
,
)的出现次数。
答案:
#include <iostream>
#include <string>
#include <sstream>
int main() {
// 初始化字符串
std::string str = "Hello, ";
// 获取输入并拼接
std::string input;
std::getline(std::cin, input);
str += input;
// 分割字符串并打印
std::istringstream iss(str);
std::string token;
int wordCount = 0; // 单词计数器
while (std::getline(iss, token, ',')) {
// 去除可能的空白字符
token.erase(0, token.find_first_not_of(' '));
token.erase(token.find_last_not_of(' ') + 1);
if (!token.empty()) { // 确保不为空字符串
std::cout << token << std::endl;
++wordCount;
}
}
// 打印单词数量
std::cout << "Word count: " << wordCount << std::endl;
// 计算特定字符(逗号)的次数
int commaCount = 0;
for (char c : str) {
if (c == ',') {
++commaCount;
}
}
// 打印特定字符的数量
std::cout << "Comma count: " << commaCount << std::endl;
return 0;
www.lyysrcw.com
www.lcgxrc.com
www.yczsrc.com
www.cdpzrcw.com
www.jnlwrc.com
}
在这段代码中,我们增加了两个变量 wordCount
和 commaCount
分别用于统计单词数量和逗号数量。在分割字符串的过程中,我们通过判断 token
是否为空来增加 wordCount
。在分割字符串之后,我们通过一个for循环遍历原字符串 str
来统计逗号的出现次数,并打印出这两个统计结果。