题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include <stdio.h>
#include <string.h>
// 读取>str[100]
//拆分 len= strlen <=8 输出补0
//>8 i=len/8 j=len%8 0-i-1全额输出 **这里输出就用strncpy和str指针来输出比较方便
//最后一个j != 0输出并补0
char * strncpy(char *restrict dst,const char * restrict src,size_t n);
//n拷贝多少字符
char sub[10];
strncpy(sub,string+12,13);
//将string中从string[12]开始的13个数字复制到sub
void supzero(int n);
int main()
{
char str[100];
int len,i,j;
while(scanf("%s",str)!=EOF){
len =strlen(str);
if(len<=8){
printf("%s",str);
supzero(8-len);
printf("\n");
}
if(len>8){
i=len/8;
j=len%8;
for (int k = 0; k < i; k ++)
{
char temp[10]={0};
strncpy(temp,str+8*k,8);
printf("%s",temp);
printf("\n");
}
if(j){
char temp[10]={0};
strncpy(temp,str+8*i,j);
printf("%s",temp);
supzero(8-j);
printf("\n");
}
}
}
return 0;
}
void supzero(int n){
for(int i=0;i<n;i++)
printf("%d",0);
}