版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/89961552
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
连续输入字符串(输入2次,每个字符串长度小于100)
输出到长度为8的新字符串数组。
abc
123456789
abc00000
12345678
90000000
华为机试题。我的思路是先假设输入的所有字符串长度都大于等于8,执行while语句来把字符串按长度为8来拆分成子字符串输出,直到字符串长度小于8为止。若执行完while语句的字符串非空则在其后面补0进行输出即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str;
while(getline(cin,str)) //读取若干行字符串
{
while(str.length() >= 8) //把字符串按长度为8拆分成子字符串输出
{
cout << str.substr(0,8) << endl; //输出长度为8的子字符串
str = str.substr(8); //保留还未进行输出的字符串
}
if(str != "" && str.length() < 8) //字符串非空且长度小于8时,要在后面补0
{
cout << str.append(8-str.length(),'0') << endl;
}
}
return 0;
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有