牛客网–华为机试在线训练4:字符串分隔
题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
示例1
输入
abc
123456789
输出
abc00000
12345678
90000000
我的答案
#include<iostream>
#include<vector>
#include<string>
using namespace std;
void Split_str(string str){
int rem = str.size()%8;
if(rem != 0){
for( int i = 0; i < 8 - rem; i++)
str.push_back('0');
}
for(int i = 0; i < str.size(); i++){
cout << str[i];
if((i+1)%8 == 0)
cout <<endl;
}
return;
}
int main(){
string str;
vector<string> temp;
getline(cin,str);//注意输入用cin到空格处会停止,要输入一行字符串(包含空格)
temp.push_back(str); //需要用getline(),注意包含string头文件
getline(cin,str);
temp.push_back(str);
for(int i = 0; i < temp.size(); i++){
if(temp[i] != "")
Split_str(temp[i]);
}
return 0;
}