句子反转getline find,反转getlinefind
分享于 点击 854 次 点评:156
句子反转getline find,反转getlinefind
#include<bits/stdc++.h>using namespace std;
/*
1.需求:
input:i love java
output:java love i
2.分析:
转换成数组a[0]=i a[1]=love a[2]=java
3.使用的函数:
str.find(" ",i)
从字符串的第i个位置开始寻找,返回第一次出现“”的位置,没有找到则返回string::npos
*/
int main(){
string istr;
getline(cin,istr);
//思考一:数组的大小怎么定义—依据空格
int space=0;//spacae必须初始化 否则就是0分呢
for(int i=0;i<istr.size();i++){
if(istr[i]==' ') space++;
}
string array[space+1];
int post=0;
for(int i=0,j=0;i<istr.size(),j<space+1;i++,j++){
//' '单引号也是可以的
post=istr.find(" ",i);
if(post==-1){
string end=istr.substr(i,istr.size()-i);
array[j]=end;
break;
}
if(post>0){
string temp=istr.substr(i,post-i);
array[j]=temp;
i=post;
}
}
for(int i=space;i>=0;i--)cout<<array[i]<<" ";
}
相关文章
- 暂无相关文章
用户点评