手写小程序:字符串分隔
题目
描述:
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
列子
输入
abc
123456789
输出
abc00000
12345678
90000000
解题
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
while( getline(cin, str) )
{
if(str.empty()) return 0;
if( str.length() == 8 ) cout << str << endl;
else if( str.length() > 0 && str.length() < 8 )
{
cout << str;
for ( int i = str.length() ; i < 8 ; i++ )
cout << '0';
cout << endl;
}
else
{
int lastlen = str.length()%8;
int frontlen = str.length() - lastlen;
for ( int i =0; i < frontlen ; i++ )
{
if ( i%8 != 7 )
cout << str[i];
else
{
cout << str[i] << endl;
continue;
}
}
if ( lastlen != 0) //判断一下有没有多出来的字符,有才需要一下处理
{
for( int j = 0 ; j < lastlen; j++)
cout << str[frontlen + j];
for( int k = lastlen; k < 8 ; k++)
cout << '0';
cout << endl;
}
}
}
return 0;
}