关于cin输入字符串数组的小困惑(想明白再填坑)

刷牛客遇到一个很简单的逆置一段英文的问题,题目很简单,本来以为早饭功夫能写完愣愣拖了一上午,在codeblocks里一直再调控制string数组输入的问题。

while(cin>>s[i])
        i++;

本想通过这段代码完成对字符串输入的控制,但是奈何输完一句后按回车并没有结束。后来讲while内的条件改成s[i]!="\n",s[i]!="\r",都不好用,最后发呆时候直接提交了最早版本的代码,提示通过,说明这个输入控制在牛客上可以通过,目前还没想出为什么,挖个坑,以后再填。

链接:https://www.nowcoder.com/questionTerminal/0ae4a12ab0a048ee900d1536a6e98315?toCommentId=1913592
来源:牛客网

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string s[50];
    int i=0;

    while(cin>>s[i])
        i++;
    i--;
    while(i>=0)
    {
        cout<<s[i];
        if(i!=0)
            cout<<" ";
        i--;
    }
    cout<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_28928833/article/details/82772946