•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
点击查看代码
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
string s1;
int i;
int j = 0, k1,k2;
char k[9] = {'0','0','0','0','0','0','0','0','\0'};//需要注意定义的字符数组尾项要用'\0'来表示结束,原因是字符串的结束标志是他,不加'\0'会出现乱码;同时应该注意定义的数组下标应该加1
getline(cin, s1);
for (i = 0; i < s1.length(); i++)//去除字符串中的空格
{
if (s1[i] == ' ')
s1.replace(i, 1, "");//当判断字符为空格时,用空字符""代替,并将字符串长度减1
}
j = s1.length();//计算减去所有空格的字符串长度
while (j % 8 != 0)//如果字符串长度不为8的倍数,则需要用0补,一直补到该判断句结果为False
{
s1.append("0");
j += 1;
}
k1 = j / 8;//计算补足字符后,字符串的长度应为8的倍数,计算其商,即能得到该将字符串切割成8个字符为一个字符串的个数
for (k2 = 0; k2 < k1; k2++)//输出切割后的每一个字符串
{
for (i = 0; i < 8; i++)
{
k[i] = s1[8*k2+i];
}
cout << k << endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具