1. 注意我写的这一套模板
    int times = s.size()/8;
    int remain = s.size()%8;
  2. 这种分段是处理最后一步要break,用最后的输出,如果是中途的话那就次次都输出。
  3. 最后一步跳入逻辑 i+1 == times。 以及先判断有余数times++,然后余数为0,余数变8
#include<iostream>
#include<algorithm>
#include<string>

using namespace std;

int main(){

    string s;
    while(cin>>s){
        string tar = "";

        int times = s.size()/8;
        int remain = s.size()%8;

        if(remain!=0) times++; if(remain==0) remain=8;

        for(int i = 0; i< times;i++){

            if( i + 1 == times){

                 for(int j = i*8; j< i*8 + remain;j++){
                        tar+=s[j];
                 }
                 for(int k = 0; k< 8-remain;k++){
                        tar+="0";
                 }

                break;
            }

            string tar_1 = "";
            for(int j = i*8; j< (i+1)*8 ;j++){
                tar_1+=s[j];
            }
            cout<<tar_1<<endl;

        }

       cout<<tar<<endl;

    }


    return 0;
}