在C#中如何通过移除首位数字实现逐位缩减的数字序列控制台打印
方案1:字符串截取实现(完全匹配「移除数字首位」的需求逻辑)
C# 字符串内置的Substring(1)方法可以直接截取从第2位到末尾的内容,刚好实现移除首位的效果,代码可以适配任意长度的初始数字序列:
static void Main(string[] args) { string numSequence = "123456"; for (int i = 0; i < numSequence.Length; i++) { Console.WriteLine(numSequence); // 最后一行只剩1位时不需要再截取 if (numSequence.Length > 1) { numSequence = numSequence.Substring(1); } } }
方案2:纯数值运算实现
如果不想通过字符串类型处理,也可以用取模运算实现移除首位的效果:
static void Main(string[] args) { int num = 123456; // 初始除数对应123456的最高位量级:10^5 = 100000 int divisor = 100000; while (num > 0) { Console.WriteLine(num); // 对除数取余即可移除最高位 num = num % divisor; divisor /= 10; } }
小提示:方案1的可扩展性更强,如果后续需要修改初始数字序列的长度,只需要修改
numSequence的初始赋值即可,不需要调整其他逻辑。
内容的提问来源于stack exchange,提问作者Mohamed Jeylani
相关产品推荐
相关产品推荐

