题源:牛客网
描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc
输出:
abc00000
算法思路:
判断是否字符串有没有大于8,大于8的时候用substr复制来输出,小于8的时候后面补0,这里也可以用append函数来进行操作,方法多,看个人选择即可
题解:
#include<bits/stdc++.h>
using namespace std;
int main() {
string s;
while (cin >> s) {
//当字符串大于8时,分割输出
while (s.size() > 8) {
cout << s.substr(0, 8) << endl;
s = s.substr(8);
}
//小于8的时候,后面补0
s.resize(8, '0');
cout << s << endl;
}
}
复杂度:
时间复杂度:o(n),只遍历了一次
空间复杂度:o(1)