C++输入一个字符串找有几个单词并把每个单词翻转
时间: 2024-10-14 21:14:43 浏览: 26
C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
在C++中,你可以使用`std::cin`从用户那里获取输入的字符串,然后通过遍历字符串、检测空格分隔单词,并对每个单词进行翻转。这里是一个简单的示例程序:
```cpp
#include <iostream>
#include <string>
#include <algorithm> // 使用reverse()函数
void reverseWords(std::string& str) {
std::size_t start = 0;
for (std::size_t end = 0; end != str.npos; ++end) { // 查找单词结束位置
if (end == str.size() || str[end] == ' ') { // 到达空格或字符串结尾
std::reverse(str.begin() + start, str.begin() + end); // 翻转找到的单词
start = end + 1; // 更新开始位置
}
}
}
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
std::getline(std::cin, input); // getline处理包含空格的完整单词
reverseWords(input);
std::cout << "翻转后的字符串是: " << input << std::endl;
return 0;
}
```
在这个程序中,`std::getline`用于读取包括空格在内的整个单词,而`std::reverse`则用于反转单词。
阅读全文