题解 | #字符串分隔#
字符串分隔
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);//补零 } } } }