思路:
(1)获取字符串str,计算长度length. 定义一个零矩阵ling[8]={0},用于填补长度不足8的子串
(2)length=0 :原样输出str
         length<8 :原样输出str,占了 0 到 length-1 位。然后用 ing矩阵的 length 到 7位补齐 0 
         length>=8 :倍数 n = length/8;
                              多余 d = length%8;
                               先输出完整的子段: for(i=1;i<=n;i++)
                                                               {
                                                                      for(j=(i-1)*8;j<i*8;j++)
                                                                         printf("%c",str[j]);
                                                                 printf("%c",huiche); //题目答案要求加回车
                                                               }
                                  再输出残缺的字段: if (d>0)
                                                               {
                                                                     for(j=n*8;j<n*8+d;j++)
                                                                           printf("%c",str[j]);  
                                                                    for(j=d;j<8;j++)
                                                                           printf("%d",ling[j]);  //补齐0
                                                                }
程序:
# include <stdio.h>
# include <string.h>
int main ()
{
    char str[101],huiche='\n';
    int ling[8]={0};                 //用于填补长度不足8的子串
    scanf("%[^\n]\n",str)>0;
    int length=0,i,j,n,d;
    length=strlen(str);
    if (length==0)
        printf("%s",str);
        
    if (length<8)                         //length<8 :原样输出str,占了 0 到 length-1 位。然后用 ing矩阵的 length 到 7位补齐 0                 
        {
            printf("%s",str);
            for(i=length;i<8;i++)
                printf("%d",ling[i]);  //补齐0
        }
        
    if(length>=8)
        {
         n=length/8;                //倍数
         d=length%8;             //多余
          for(i=1;i<=n;i++)        //先输出完整的子段
          {
              for(j=(i-1)*8;j<i*8;j++)
                  printf("%c",str[j]);
            printf("%c",huiche);//题目答案要求加回车
          }
         
            if (d>0)              //再输出残缺的字段 ,并补齐0            
          {
              for(j=n*8;j<n*8+d;j++)
               printf("%c",str[j]);  
              for(j=d;j<8;j++)
                printf("%d",ling[j]);  //补齐0
          }
        }
}