完整的代码:
#include<stdio.h>
#include<string.h>
void func(char a[]);
int main(){
char tmp[100];
char tmp1[100];
gets(tmp);
gets(tmp1);
func(tmp);
func(tmp1);
return 0;
}
void func(char a[]){
int len=strlen(a);
for(int i=0;i<len;i++){
if((i+1)%8==0){
printf("%c\n",a[i]);
}
else{
printf("%c",a[i]);
}
}
if(len%8!=0){
int t=len/8+1;
t=t*8;//数组补加到这个长度
for(int i=0;i<t-len;i++){
printf("%d",0);
}
printf("\n");
}
}
难点:
1.把字符串分割成8的大小,并且每输出8个字符串之后就换行输出。利用字符的下标,当下标能够被8整除时就换行输出。
2.补零,如果字符串的长度不能够整除8的话那么需要补足长度能够被8整除,由于补充的长度是小于8的,所以补充的零的个数是小于8的,所以并不需要在零输出时考虑换行。