原题链接:字符串分隔_牛客题霸_牛客网
solution:
先将输入的字符串补0,再按每8个字符进行保存
#include <iostream>
using namespace std;
#include <string>
#include <vector>
string str;
vector<string> strnums;
int main()
{
cin>>str;
int n = str.size();
int count = 8 - n % 8;
for(int i = 0;i < count;i++) {
str += '0';
}
for(int i = 0;i < n;) {
strnums.push_back(str.substr(i,8));
i = i + 8;
}
for(auto &x : strnums) cout<<x<<endl;
return 0;
}
最后处理剩余字符串
#include <iostream>
using namespace std;
#include <string>
string str;
int main()
{
cin>>str;
int n = str.size();
int size = n / 8;
int count = n % 8;
for(int i = 0;i < size;i++) {
string s = str.substr(i * 8,8);
cout<<s<<endl;
}
if(count) { //处理剩余字符串
string res = str.substr(str.length() - count,count);
res.append(8 - count,'0');
cout<<res<<endl;
}
return 0;
}