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; }