多个输入的代码失败

时间:2018-07-23 09:31:56

标签: c++ c++11

这是我在其他站点上练习过的C ++问题。代码如下。我的代码无法多次输入。输出仅为

clee olg  

代替

clee olg
sho col

问题陈述:

给出一个从SN的长度为0的字符串N-1,将其偶数索引和奇数索引字符打印为空格一行上的字符串。

输入- 第一行包含一个整数t(测试用例的数量)。 后续各行中的每一行i都包含一个字符串S

输出- 对于每个字符串S(其中0<= j<=N-1),打印S的偶数索引字符,后跟一个空格,后跟S的奇数索引字符。

例如-

2
college
school

输出-

clee olg
sho col

代码:

int main() 
{
    int t;
    cin>>t;
    string str;
    vector<string>s_even;
    vector<string>s_odd;
    for(int i=0;i<t;i++)
    {
        getline(cin,str);

        for(int j=0;j<str.size();j++)
        {        
            if(j%2==0)
                 { 
                   string  a;
                   a=str[j];
                   s_even.push_back(a);

                 }
             else
                 { 
                   string b;
                   b= str[j];
                   s_odd.push_back(b);
                  }
           }

copy(s_even.begin(),s_even.end(),ostream_iterator<string>(cout));

cout<<" ";

copy(s_odd.begin(),s_odd.end(),ostream_iterator<string>(cout));

 str.clear();
 s_odd.clear();
 s_even.clear();
 }
 return 0;

}       

1 个答案:

答案 0 :(得分:0)

调试时,打印中间结果可能会有所帮助。这可以帮助您查明故障根源。例如,如果您在<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table class="table-responsive table-striped col-lg-12 col-md-12 col-sm-12 padding_left_right_none dash_table"> <tr> <td style="width:10px;">&nbsp;</td> <td style="width: 130px;"> <p class="name">Name 1_1</p> <input class="text" type="text" name="name" value="Value Here 1_1" style="height: 22px;width: 110px;border: none;"> </td> <td style="width: 130px;"> <p class="name">Name 2_1</p> <input type="text" class="text" name="pay1" value="Value Here 2_1" style="height: 22px;width: 110px;border: none;text-align: center;"> </td> <td style="width: 80px;"> <p class="name">Name 3_1</p> <input type="text" class="text" name="pay2" value="Value Here 3_1" style="height: 22px;width: 110px;border: none;text-align: center;"> </td> <td class="right_set"><button class="edit_btn">Edit / -</button></td> </tr> <tr> <td style="width:10px;">&nbsp;</td> <td style="width: 130px;"> <p class="name">Name 2_1</p> <input class="text" type="text" name="name" value="Value Here 2_1" style="height: 22px;width: 110px;border: none;"> </td> <td style="width: 80px;"> <p class="name">Name 2_2</p> <input type="text" class="text" name="pay1" value="Value Here 2_2" style="height: 22px;width: 110px;border: none;text-align: center;"> </td> <td style="width: 80px;"> <p class="name">Name 2_3</p> <input type="text" class="text" name="pay2" value="Value Here 2_3" style="height: 22px;width: 110px;border: none;text-align: center;"> </td> <td class="right_set"><button class="edit_btn">Edit / -</button></td> </tr> </table>之后打印了str,则会注意到第一次迭代为您提供了一个空字符串。

关于原因和解决方案,请查看@Mat的链接here