题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
该题分三种情况:
1.小于等于8位右侧直接补零
2.等于8整数倍位数直接循环打印,第一次提交没想到该情况,导致多输出了8个0
3.大于8位且不是8的整数倍位数,则用长度对8取余数,就知道需要补多少位成为8的倍数位,补完循环打印
using System;
public class Program {public static void Main() {
string line;
while (true)
{
line=Console.ReadLine();
if(!string.IsNullOrEmpty(line))
{
if(line.Length<=8)
{
line=line.PadRight(8,'0');
Console.WriteLine(line);
}
else
{
int iLenght=line.Length%8;
if(iLenght!=0)//不是8的整数倍位数才会补零,容易遗漏该场景
{
line=line.PadRight(line.Length+ 8-iLenght,'0');
}
for(int i=0;i<line.Length;i+=8)
{
Console.WriteLine(line.Substring(i,8));
}
}
}
else
{
break;
}
}
}
}