Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3535 | 邓小龙 | 单词翻转 | C++ | Accepted | 0 MS | 268 KB | 1107 | 2024-06-15 10:14:02 |
# include<iostream> # include<cstring> using namespace std; //思路: //1.遍历字符串s,找到每一个单词并记录起来存入s1 // 怎么找到单词?空格+单词,注意处理首个单词,单词长度用变量c记录,遇到空格清0 //2.将s1反转,并替换s中的原来的单词,记录单词出现的位置下标p string s,s1;//s原始字符串,s1取出的单词 int c,p;//c单词长度,p单词出现的位置下标 int main(){ getline(cin,s); int lens=s.size(); for(int i=0;i<lens;i++){ if(i==0&&s[i]!=' ') p=i;//处理第一个单词非空格 if(s[i]!=' '){ c++; } else{ s1=s.substr(p,c); //cout<<s1<<endl; //逆序输出 for(int j=s1.size()-1;j>=0;j--) cout<<s1[j]; cout<<" "; p=i+1; c=0; } } s1=s.substr(p,c); //cout<<s1<<endl; //逆序输出 for(int j=s1.size()-1;j>=0;j--) cout<<s1[j]; if(s[lens-1]==' ') cout<<" "; return 0; }