1.思维导图:
2.定义一个命名空间Myspace,包含以下函数:将一个字符串中的所有单词进行反转,并输出反转后的结果。例如,输入字符串为"Hello World",输出结果为"olleH dlroW",并在主函数内测试该函数
#include <iostream>
using namespace std;
//定义一个命名空间Myspace,包含以下函数:将一个字符串中的所有单词进行反转,并输出反转后的结果。
//例如,输入字符串为"Hello World",输出结果为"olleH dlroW",并在主函数内测试该函数
namespace Myspace {
void reverse(string *str)
{
char temp; //中间变量
int i=0,j=0,k=0,len=(*str).size();
while(k<len)
{
if((*str)[k]!=' '&&(*str)[k+1]==' '||(*str)[k+1]=='\0')
{
j=k; //得到单词结尾的位置
}
if((*str)[k]==' '&&(*str)[k+1]!=' ')
{
i=k+1; //得到单词头的位置
}
while(j>i)
{
temp = (*str)[j];
(*str)[j] = (*str)[i];
(*str)[i] = temp;
i++,j--;
}
k++;
}
}
}
using namespace Myspace;
int main()
{
string str = "Hello World";
reverse(&str);
cout<<str<<endl;
return 0;
}