题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include<iostream> #include<string> #include<cstdlib> using namespace std; int main() { string s; while(getline(cin,s)) { while(s.size()>8) { cout<<s.substr(0,8)<<endl; s=s.substr(8,s.size()); } if(s.size()==8) { cout<<s<<endl; } else { string zero="00000000"; string add=zero.substr(0,8-s.size()); s=s+add; cout<<s<<endl; } } return 0; }
看看这个:
else {
for(int i=0;i<8-s.size();i++) {
s=s+'0';
}
cout<<s<<endl;
有没有问题? 有
每次循环i<8-s.size这个条件会变化,这个应该为s起始时的长度,所以要:
int t=s.size();
for(int i=0;i<8-t;i++)