题解 | #字符串8个换行输出#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
字符串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;
}
}