打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
华为机试HJ4:字符串分隔

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

·连续输入字符串,请按长度为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;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【Go语言入门100题】032 Left-pad (20 分) Go语言|Golang
LeetCode 72*. 编辑距离(Python)
没有深思过的python冷知识你知道几个?
收集一些常用的正则表达式
C语言提高:一级指针的输入输出
【函数】提取三兄弟:LEFT、MID、RIGHT
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服