将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“字符串分隔”,现在将通过的代码贴一下,供大家参考。

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAXLEN 100;
#define SEGLEN 8;
void output(char * inputbuf)
{
char newbuf[9]={0};
int segcount = (strlen(inputbuf)-1)/8;
int modlen = (strlen(inputbuf)-1)%8;
int j = 0;
for(j=0;j<segcount;j++)
{
strncpy(newbuf,inputbuf+j*8,8);
printf("%s\n",newbuf);
}
if(modlen>0)
{
strncpy(newbuf,inputbuf+segcount*8,modlen);
for(j=modlen;j<8;j++)
{
newbuf[j]='0';
}
printf("%s\n",newbuf);
}
//sprintf("%")
}
int main()
{
//#define MAXLEN 100;
char inputbuf1[102]={0};
char inputbuf2[102]={0};

int count=2;
int i=0;

//for(i=0;i<count;i++)
//{
fgets(inputbuf1,sizeof(inputbuf1),stdin);
// printf(intputbuf1);
fgets(inputbuf2,sizeof(inputbuf1),stdin);
// printf(intputbu2);
//}
output(inputbuf1);
output(inputbuf2);

}