我想要一个以下面的格式反转给定字符串的程序。 假设我输入的字符串为="这是一个男孩" 然后我想输出反向刺痛为=" boya si ishT"
再来一个例子 输入字符串="如果是" 输出字符串=" af i" 请帮忙。 我写了下面的程序,但没有按预期工作。char string[] = "This is a boy\0";
char reverse[100] = {0};
int start = 0;
int len = strlen(string)-1;
int space= 0;
bool flag = false;
int count = 0;
while(len >= 0)
{
if(string[len] == ' ' )
{
len--;
flag = true;
}
if(flag && (string[len-1]) == ' ')
{
reverse[start] = string[len];
reverse[++start] = ' ' ;
len--;
start++;
flag = false;
continue;
}
reverse[start] = string[len];
flag = false;
start++;
len--;
}
答案 0 :(得分:0)
由于您拥有C++
代码
#include <string>
#include <algorithm>
#include <iostream>
std::string str = "This is a boy";
std::reverse(str.begin(), str.end());
std::cout << str;
或
char str[] = "This is a boy";
std::reverse(str, str + strlen(str));