读入一段文本到vector对象,每个单词存储为vector中的一个元素。把vector对象中的每个单词转化为大写字母。输出vector对象中转化后的元素。
时间: 2023-06-23 20:08:23 浏览: 85
用c++实现将文本每个单词首字母转换为大写
5星 · 资源好评率100%
以下是一个实现示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // for transform() function
#include <cctype> // for toupper() function
int main() {
std::vector<std::string> words;
std::string word;
// read in the text
std::cout << "Enter some text (press Ctrl+D to end):\n";
while (std::cin >> word) {
words.push_back(word);
}
// convert each word to uppercase
std::transform(words.begin(), words.end(), words.begin(),
[](std::string& str) {
std::transform(str.begin(), str.end(), str.begin(),
[](unsigned char c) {
return std::toupper(c);
});
return str;
});
// output the converted words
std::cout << "The converted words are:\n";
for (const auto& w : words) {
std::cout << w << " ";
}
std::cout << std::endl;
return 0;
}
```
首先,我们定义了一个`std::vector<std::string>`类型的变量`words`,用于存储输入的文本。接着,使用`while`循环从标准输入中读取单词,并将它们添加到`words`向量中。然后,我们使用`std::transform()`算法将每个单词转换为大写字母。在这里,我们使用了一个匿名的Lambda函数作为转换函数,它接受一个`std::string`类型的参数,并将其转换为大写字母形式。最后,我们遍历`words`向量,并输出每个转换后的单词。
阅读全文