C++ #句子逆序# 自己写的算法,用了vector和string类的函数
#include<iostream>
#include<vector>
#include<string.h>
//利用string
using namespace std;
int main()
{
string taget;
int shi=0,mo=0;//定义初始和末
int m=0,i=0,j=0;//flag用于判断是否重复
vector<char> T;
getline(cin,taget);
m=taget.size();
mo=taget.size()-1;
for(i=m-1;i>=0;i--)//
{
if(taget[i]==' ')
{
for(j=i+1;j<=mo;j++)
{
T.push_back(taget[j]);//插入单词
}
T.push_back(taget[i]);//还要插入空格
mo=i-1;//更新上个位置
}
if(i==0)//处理第一个单词
{
for(j=0;j<=mo;j++)
{
T.push_back(taget[j]);//插入单词
}
}
}
for(vector<char>:: iterator it=T.begin();it!=T.end();it++)//输出vector
{
cout<<*it;
}
return 0;
}
京公网安备 11010502036488号