在这段代码中,它没有输入i = 0。它直接用于i = 1

时间:2018-05-20 08:01:34

标签: c++ vector

在此代码中,它不接受i = 0的输入。它直接输入i = 1。

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin>>n;
    vector<string> x;
    string q;

    for(int i=0;i<n;i++)
    {
        getline(cin,q);
        x.push_back(q);
        cout<<x.size();
    }

    for(int i=0;i<x.size();i++)
        cout<<x[i]<<endl;

    return 0;
}

1 个答案:

答案 0 :(得分:0)

添加额外的&#34; getline(cin,q);&#34;之前的声明&#34; for loop&#34;这样它就会读取您输入&#34; cin&gt;&gt; n;&#34;的输入的待定行。言。

您的新代码将是: -

使用namespace std;

int main()
{
   int n;
   cin>>n;
     vector<string> x;
 string q;
 getline(cin,q); // to read the pending line 
 for(int i=0;i<n;i++)
 {

   getline(cin,q);
    x.push_back(q);
    cout<<x.size();
 }
 for(int i=0;i<x.size();i++)
 cout<<x[i]<<endl;
    return 0;
}