题解 | #字符串分隔#

字符串分隔

http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string str1;

    while(getline(cin,str1))
    {
        while(str1.size() > 8)
        {
            cout <<str1.substr(0,8)<<endl;//从0位置开始,截取8个数字。
            str1 = str1.substr(8,str1.size() - 8); //将剩余的数组重新放入到字符串中
        }
        int len = str1.size();//获取到剩下字符串个数
        if(len == 8){//如果剩下8个,直接输出。
            cout << str1 <<endl;
        }else{
            for(int i=len;i<8;i++)//如果少于8个,在字符串后面直接加0;
            {
                str1+='0';
            }
            cout<<str1<<endl;
        }
    }
    return 0;
}
全部评论
最后剩余字符串如果 str1.length() > 0,则 str1.resize(8, '0') 也行
点赞 回复 分享
发布于 2024-03-12 12:46 广东
while(getline(cin,str1))似乎不太合适,正常情况无法跳出循环,而题目中说只写入一行字符串,完全不用while,直接getline就好了。另外,题目说空串不做处理,此处空串会输出8个0
点赞 回复 分享
发布于 2022-03-16 11:31

相关推荐

06-03 15:32
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
33
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务