这是我在其他站点上练习过的C ++问题。代码如下。我的代码无法多次输入。输出仅为
clee olg
代替
clee olg
sho col
问题陈述:
给出一个从S
到N
的长度为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;
}
答案 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;"> </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;"> </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