字符串8个换行输出

大概分为三个部分进行输出:1.字符串长度为0的时候,直接进行输出;2.字符串为小于等于8的时候,直接输出,却位补0;3.字符串大于8的时候,以8的整数倍作为换行,最后几位补0;难点在于如何补0 和 换行;

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string input;
    cin>>input;
    if(input.size()==0)
    {
        cout<<input<<endl;
    }
    if(input.size()<=8)
    {
        for(int i=0;i<8;i++)
        {
            if(i<input.size())
                cout<<input[i];
            else
                cout<<'0';//在字符串结束的时候和8之间进行补0
        }
        cout<<endl;
    }else
    {
    
        int d=0;
        if(input.size()%8!=0)
            d=((input.size()/8)+1)*8;
        else
            d=input.size();
        //以上部分就是扩大字符串,补0  
        for(int i=0;i<d;i++)
        {
            if(i<input.size())
            {
                 if(i%8==0 && i!=0)//目的就是首位不允许换行
                {
                    cout<<endl;
                    cout<<input[i];
                }
                else
                {
                    cout<<input[i];
                }
            }else{
                cout<<'0';//最后结尾的时候补0
            }
        }
        cout<<endl;
    }
    
}