输入一个英文句子,统计其中单词的个数。 【输入形式】 输入一个英文句子,英文句子中可以包含各种标点符号、空格和英文单词,句子最长不超过255字符,以回车结束。 【输出形式】 一个整数
时间: 2024-12-23 21:26:35 浏览: 4
要统计一个英文句子中的单词数量,你可以使用C++的`std::string`类以及`std::istringstream`(istringstream)来处理字符串并分割成单词。以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int count_words(const std::string& sentence) {
std::istringstream iss(sentence);
std::string word;
int word_count = 0;
// 使用 iss 来读取句子,直到遇到非单词字符
while (iss >> word) {
++word_count; // 如果读取到一个单词,计数器加一
}
return word_count;
}
// 示例输入
std::string input_sentence = "This is a test sentence, with some punctuation marks!";
// 统计单词数量
int result = count_words(input_sentence);
// 输出结果
std::cout << "The number of words in the sentence is: " << result << std::endl;
```
这个函数首先创建一个`std::istringstream`流对象,然后逐词从输入的句子中读取。当遇到非单词字符时(例如标点符号或换行符),读取操作停止,此时我们就可以增加单词计数。
请注意,这个例子假设标点符号不会被当作单词的一部分。如果你需要更复杂的处理,比如不区分大小写或者去除特定的标点,可能需要额外的预处理步骤。
阅读全文