题解 | #字符串分隔#
字符串分隔
https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include <stdio.h>
#include <string.h>
//思路是吧问题简单化,先解决满八位的显示,再解决不足八位的补0显示。
int main() {
int l=0;//满八位的字符部分长度
int m=0;//剩下字符长度
int i,j;
char str[1012]={'a'};//存放字符
scanf("%[^\n]",str);//取字符
getchar();//清空缓存,个人习惯,可删
l=strlen(str);//确定字符串长度
if(l%8!=0)//确定标准易处理的长度l,和复杂些的长度m。
{
m=l%8;
l=l-l%8;
}
else
{
m=0;//习惯,可删
}
for(i=0;i<l/8;i++)//输出标准8位的l部分
{
for(j=0;j<8;j++)
{
printf("%c",str[(i*8+j)]);
}
printf("\n");
}
if(m!=0){//处理需要补零的部分
for(j=0;j<8;j++)
{
if(m!=0)//可以用for循环写,这样写更好理解一点。
{
printf("%c",str[l+j]);//输出剩余部分字符
m=m-1;
}
else{
printf("%d",0);//补零
}
}
}
}
查看14道真题和解析