原文:
让有一个字符串说“我是一个极客”。所以,输出应该是“geek a am i”。这可以通过多种方式实现。其中一个pg电子试玩链接的解决方案在中给出。
示例:
input : i am a geek
output : geek a am i
input : gfg is the best
output : best the is gfg
这可以通过使用“ %s 格式说明符的属性以更简单的方式完成。 属性 : %s 将获得所有值,直到它为空,即“\0”。
示例:char string[] =“我是极客”存储如下图所示:
逼近:从最后一个字符开始遍历字符串,向第一个字符移动。遍历时,如果遇到一个空格字符,在该位置放一个空值,并在空值字符后打印剩余的字符串。重复此操作,直到循环结束,当循环结束时,打印字符串,%s 将打印字符,直到遇到第一个空字符。
让我们借助图表来看看这种方法: 第一步:从最后一个字符开始遍历,直到遇到一个空格字符。
第二步:在空格字符的位置放一个空字符,并在后面打印字符串。
第三步:结束时,循环到达第一个字符时结束,所以打印剩余字符时,将打印第一个空字符,因此将打印第一个单词。
c
// c program to print reverse
// of words in a string.
#include
using namespace std;
string wordreverse(string str)
{
int i = str.length() - 1;
int start, end = i 1;
string result = "";
while (i >= 0) {
if (str[i] == ' ') {
start = i 1;
while (start != end)
result = str[start ];
result = ' ';
end = i;
}
i--;
}
start = 0;
while (start != end)
result = str[start ];
return result;
}
// driver code
int main()
{
string str = "i am a geek";
cout << wordreverse(str);
return 0;
}
// this code is contributed
// by imam
麻将胡了pg电子网站的版权属于:月萌api www.moonapi.com,转载请注明出处