【发布时间】:2019-07-21 21:25:26
【问题描述】:
我正在尝试实现一种方法来检查C# 中的连续数字。
给定一个n 元素的整数列表,如果数字是连续的,它应该返回真/假。
例如,12345, 45678, 54321 都将是 true。
而435276, 243516, 974264 将是false。
我的代码似乎按预期执行。但它缺少结束元素。
for (int i = 0; i < inputList.Count - 1; i++)
{
if (inputList[i] < inputList[i + 1])
{
Console.WriteLine($"{inputList[i]} is consecutive when compared to {inputList[i + 1]}");
consecutiveCheck = true;
}
else
{
Console.WriteLine($"{inputList[i]} is not consecutive when compared to {inputList[i + 1]}");
consecutiveCheck = false;
break;
}
}
【问题讨论】:
-
这些不是连续的数字,而是递增的数字。
-
缺少结尾元素是什么意思?对于哪个输入,它会失败以及如何失败?
-
dotnetfiddle.net/wEPqLS 您的代码@Keva161 的具体问题是什么?它似乎工作正常。
But it's missing the end element.当然,代码只给出两行输出,但这是意料之中的。如果你有三个值,那么你就有两个比较。 -
当 ContinuousCheck 设置为 false 时,您的代码不能保证将所有元素输出到控制台,因为循环由于 break 语句而终止。