c++ - 多个输入的代码失败
问题描述
这是我在其他网站上练习的 C++ 问题。代码如下。我的代码因多个输入而失败。输出只是
clee olg
代替
clee olg
sho col
问题陈述 :
S
给定一个长度N
为从0
到索引的字符串 ,将N-1
其偶数索引和奇数索引字符作为空格分隔的字符串打印在一行上。
INPUT - 第一行包含一个整数,t
(测试用例的数量)。后续行的每一i
行都包含一个字符串,S
OUTPUT- 对于每个字符串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;
}
解决方案
调试时,打印出中间结果可能会有所帮助。这可以帮助您查明故障的根源。例如,如果您在str
之后打印出来getline(cin, str)
,您会注意到您的第一次迭代给您一个空字符串。
至于原因和解决方案,请查看@Mat此处的链接
推荐阅读
- node.js - 自定义角度 5 中的 PayPal 登录按钮
- c# - Polly 断路器回退不起作用
- angular - AbstractControl 和 FormBuilder 上的单元测试 removeAt 函数
- android - 项目中添加的 libsupportjni.so 文件
- wpf - 在 RowDetailsTemplate 中隐藏/折叠图像
- python - pymysql - 是否可以将变量用作“Where”参数?
- javascript - 根据另一个 Datetimepicker 日期设置 Datetimepicker minDate
- angular - My angular 7 apps sitemap.xml is not being picked up by webmaster tools
- java - Kafka Broker 偏移量/日志保留和消费者偏移量在最早模式下重置
- scala - sparkSQL数据框如何拆分到某列