华为机试HJ4:字符串分隔
Posted 翟天保Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试HJ4:字符串分隔相关的知识,希望对你有一定的参考价值。
题目描述:
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入多次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
示例:
输入:
abc 123456789
输出:
abc00000 12345678 90000000
解题思路:
每输入一个字符串,先计算其字符个数与8的余数,将前面的x个8字符子串输出,再输出剩下的字符,并补充0的个数。
测试代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int number=0;
while(cin>>str)
{
// left是裁剪后不足8个字符的字符串中字符的个数
int left=str.size()%8;
while(str.size()>=8)
{
cout<<str.substr(0,8)<<endl;
str=str.substr(8);
}
// 如果为0则说明后面没有多余字符了
if(left)
{
number=8-left;
str.append(number,'0');
cout<<str<<endl;
}
}
return 0;
}
以上是关于华为机试HJ4:字符串分隔的主要内容,如果未能解决你的问题,请参考以下文章