题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include<stdio.h>
#include<string.h>
int main()
{
char str[101];
int i = 1;
int j = 0;
const char zer[7] = "0000000";
while(scanf("%s",str) != EOF){
if(strlen(str) <= 8){
strncat(str,zer,8-strlen(str));
printf("%s\n",str);
}else if(strlen(str) %8 == 0){
i=0;
while(i <strlen(str)){
printf("%c",str[i]);
i++;
if(i%8 == 0)
printf("\n");
}
printf("\n");
}
else{
for(i = 0;i<strlen(str)/8; i++){
for(j=0;j<8;j++){
printf("%c",str[j+i*8]);
}
printf("\n");
}
int k = 0;
char a[7] = {0};
for(i = 8*i;i<strlen(str);i++){
a[k] = str[i];
k++;
}
strncat(a,zer,8-k);
printf("%s\n",a);
}
}
return 0;
}
#include<string.h>
int main()
{
char str[101];
int i = 1;
int j = 0;
const char zer[7] = "0000000";
while(scanf("%s",str) != EOF){
if(strlen(str) <= 8){
strncat(str,zer,8-strlen(str));
printf("%s\n",str);
}else if(strlen(str) %8 == 0){
i=0;
while(i <strlen(str)){
printf("%c",str[i]);
i++;
if(i%8 == 0)
printf("\n");
}
printf("\n");
}
else{
for(i = 0;i<strlen(str)/8; i++){
for(j=0;j<8;j++){
printf("%c",str[j+i*8]);
}
printf("\n");
}
int k = 0;
char a[7] = {0};
for(i = 8*i;i<strlen(str);i++){
a[k] = str[i];
k++;
}
strncat(a,zer,8-k);
printf("%s\n",a);
}
}
return 0;
}