编写一个C++程序,该程序首先要求用户输入一行文本(不包含标点符号,只包含空格分隔的单词),然后计算并输出该行文本中单词的数量。注意,单词之间可能有一个或多个空格
时间: 2024-09-24 21:28:48 浏览: 32
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格
5星 · 资源好评率100%
下面是一个简单的C++程序,用于计算给定行文本中单词的数量:
```cpp
#include <iostream>
#include <string>
#include <sstream>
int countWords(const std::string& text) {
std::istringstream iss(text);
std::string word;
int wordCount = 0;
while (iss >> word) {
++wordCount;
}
return wordCount;
}
int main() {
std::string input;
std::cout << "请输入一行文本(不包含标点符号,只包含空格分隔的单词):";
std::getline(std::cin, input);
if (!input.empty()) {
int wordCount = countWords(input);
std::cout << "该行文本中有 " << wordCount << " 个单词。" << std::endl;
} else {
std::cout << "输入为空。" << std::endl;
}
return 0;
}
```
这个程序首先读取用户的输入,然后通过`countWords`函数计算单词的数量。`std::istringstream`将字符串转换成一个输入流,我们可以像处理标准输入一样从它获取单词。当遇到空格时,`iss >> word`会停止提取,除非下一个字符也是单词的一部分。
阅读全文