c++输入一行字符,计算该行字符中包含多少个单词,单词之间用空格分隔开。
时间: 2024-10-17 20:14:28 浏览: 37
在 C++ 中,你可以通过标准库中的 `cin` 和 `getline` 函数读取一行用户输入,并使用字符串流(如 `istringstream`)将这一行输入分割成单词。以下是实现的一个简单示例:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int count_words(const std::string& input) {
int word_count = 0;
std::istringstream iss(input);
std::string word;
// 使用 iss 逐个读取单词直到遇到非单词字符(即不是字母、数字或下划线)
while (iss >> word) {
++word_count; // 每找到一个单词就增加计数器
}
return word_count;
}
int main() {
std::string line;
std::cout << "请输入一行字符(单词由空格分隔):" << std::endl;
getline(std::cin, line);
int word_count = count_words(line);
std::cout << "该行包含的单词数为: " << word_count << std::endl;
return 0;
}
```
在这个程序中,`count_words` 函数会统计输入字符串中有效单词的数量。注意,这个函数假设单词是由字母、数字或下划线组成的,且单词间用空格分隔。
阅读全文