【发布时间】:2023-03-13 21:30:02
【问题描述】:
我的输入是“Hello World”,目标输出是“olleH dlroW”。
所以我的想法是把句子变成一个变量,然后循环遍历句子中的单词,将每个单词反转,最后将它们连接成一个新变量。
我的问题是:如何迭代句子的单词?
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
string reverseword(string word)
{
string rword;
int size = word.length();
while (size >= 0)
{
rword+= word[size];
size = size -1;
}
return rword;
}
int main()
{
string sentence;
cout<<"Enter the word/sentence to be reversed: ";
cin >> sentence;
string rsentence;
// for every word in the sentence do
{
rword = reverseword(word);
rsentence = rsentence + " " + rword;
}
cout<<rword;
return 0;
}
【问题讨论】:
-
仅供参考
std::reverse做你的reverseword函数所做的事情:P -
你可以运行一个top直到你找到空间并抓取所有字符并将它们放入一个变量并执行反向操作
-
您不需要拆分或连接任何内容。就地反转每个单词。
-
您将如何处理输入“Hello, world”?它应该导致 ",olleH dlroW" 还是 "olleH, dlroW" ?如果有标点符号且没有空格,则相同