况且我还没解出来[doge]
#include [HTML_REMOVED]
#include [HTML_REMOVED]
#include [HTML_REMOVED]
using namespace std;
string str, a[10001];
int main()
{
getline(cin, str);
int n = str.size(), k = 0;
int i = n, m = 0;
while(str[i] != ‘ ‘){
i – ;
m ;
}
for (int i = 0; i < n - m; i ){
if(str[i] == ‘ ‘){
for (; k <= i; k ++ ){
a[i]+=str[k];
cout<<
}
k = i;
}
}
for (int i = n; i >= 0; i -- ){
cout<<a[i];
}
return 0;
string res;
for (int i = str.size() - 1; i >= 0; i--)
{
int j = i - 1;
while (str[j] != ' ' && j >= 0)
{
if (j == 0)
{
res += str[j];
break;
}
j--;
}
for (int k = j + 1; k <= i; k++)
res += str[k];
res += " ";
i = j;
}
cout << res << endl;
return 0;
#include <iostream>
using namespace std;
int idx;
string s[110];
int main()
{
while (cin >> s[idx ++ ]);
for (int i = idx - 2; i >= 0; i -- ) cout << s[i] << ' ';
}
nb,我还开了个数组倒排,真的巧妙的思路
况且我还没解出来[doge]
#include [HTML_REMOVED]
#include [HTML_REMOVED]
#include [HTML_REMOVED]
using namespace std;
string str, a[10001];
int main()
{
getline(cin, str);
int n = str.size(), k = 0;
int i = n, m = 0;
while(str[i] != ‘ ‘){
i – ;
m ;
}
for (int i = 0; i < n - m; i ){
if(str[i] == ‘ ‘){
for (; k <= i; k ++ ){
a[i]+=str[k];
cout<<
}
k = i;
}
}
}
#include[HTML_REMOVED]
using namespace std;
int main()
{
string str;
getline(cin, str);
}
我直接写了50多行我服了我是傻子
好厉害!我看晕了,佬儿,可以给我讲讲嘛?
没看懂啊
while (cin >> s[idx ++ ]);
这个;是啥意思
牛波一!
妙啊
NB 我还在想双指针 想到傻了
看不懂有兄弟讲讲吗…
res=I
res=am I
res=a am I
......
牛反正我是菜鸡
谢谢哥们,确实厉害
我怎么想不明白,
res = str + ' ' + res
每次结束不都多一个res吗[疑惑]这么巧妙吗,果然人和人的脑子是不同的
想问一下,我看好多就是while(cin>>str),这样写的话,是可以ac的,但是到编译器是不能跳出while循环,怎么搞,或者说别的写法
我记得这个要强制退出循环的 试试ctrl + c 或者ctrl + z
好像在while语句里面写
if(getchar()==’\n’){
break;
}
应该可以解决
ctrl + z 再enter
太快了了
牛
NB
666
#include[HTML_REMOVED]
using namespace std;
int main(){
string s;
getline(cin,s);
while(s.find(‘ ‘)!=-1){
int n=s.rfind(‘ ‘);
for(int i=n+1;i<s.length();i++)
{
cout<<s[i];
}
cout<<’ ‘;
s.erase(n,s.length()-n);
}
cout<<s<<endl;
return 0;
}
好巧妙哦
666666666