#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
// 输入一行字符串
getline(cin, str);
string arr;
for (int i = 0; i < str.length(); i++)
{
if (str[i] != ' ')
{
arr += str[i]; // 将非空格字符添加到临时存储的字符串中
}
else
{
for (int j = arr.length() - 1; j >= 0; j--)
cout << arr[j]; // 反向输出临时存储的字符串
arr = ""; // 清空临时存储的字符串
cout << " "; // 输出空格
}
}
for (int j = arr.length() - 1; j >= 0; j--)
cout << arr[j]; // 输出剩余的临时存储的字符串
}
该段代码实现了以单词为单位,反向输出一行字符串的功能。首先,通过getline(cin, str)
语句输入一行字符串。然后,定义一个临时存储字符串arr
,用于存储非空格字符。接下来,使用循环遍历字符串的每个字符,如果当前字符不是空格,则将其添加到临时存储字符串中。如果当前字符是空格,则通过逆序循环输出临时存储字符串的字符,并清空临时存储字符串。在每个单词之间输出一个空格。最后,再次逆序循环输出剩余的临时存储字符串。完成反向输出一行字符串的功能。