关键思路

每一行分别处理
利用下面代码可以分离输入行

char input[100] = {0};
while(gets(input) != NULL)
{

}

进入到循环中就可以对每一句进行判断了,分大于8和小于8处理即可
全部代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char input[100] = {0};
    int i = 0,j = 0;
    int len = 0;
    char ch;
    while(gets(input) != NULL)
          {
               len = strlen(input);//读取字符串长度分别处理
               if(len > 8)
               {
                   for(i = 0;i < len;i++)
                   {
                       if((i >= 8) && (i % 8) == 0)
                       {
                           printf("\n");
                       }
                       printf("%c",input[i]);
                   }
                   if(i % 8 != 0)//退出循环时需要判断是否有单出来的
                   {
                       for(i = (i % 8);i < 8;i++)
                       {
                           printf("%c",'0');
                       }                       
                   }
                   printf("\n");
               }
               else
               {
                   for(i = 0;i < 8;i++)
                   {
                       if(i < len)
                       {
                           printf("%c",input[i]);
                       }
                       else
                       {
                           printf("%c",'0');
                       }
                   }
                   printf("\n");
               }
          }
    return 0;
}