说我有一组数字:
int[] that = new [] {1, 2, 3, 2, 4, 8, 9, 7};
我正在尝试显示它们,以便增加的数字有自己的行。 例如,结果将是:
1 2 3
2 4 8 9
7
我可以使用
执行第一行for (int i = 1; i < that.Length; i++)
{
if (that[i-1] < that[i])
{
Console.Write(that[i-1] + " ");
}
}
事情是这适用于第一行,因为1-3正在增加但在此之后停止。 我不确定如何继续,以便写入2 4 8 9,然后是7。
答案 0 :(得分:1)
我觉得这是作业,所以我要把实际编码留给你。但这是如何用简单的语言来做的:
答案 1 :(得分:0)
您永远不会创建新行。
int[] arr = new[] {1, 2, 3, 2, 4, 8, 9, 7};
for(var i = 0; i < arr.Length; i++){
if(i == 0 || ((i < arr.Length - 1) && arr[i] < arr[i + 1])){
Console.Write(arr[i]);
} else {
Console.Write("{0}\n", arr[i]);
}
}
输出:
123
2489
7
几位评论:
this
作为变量名。这是保留的
关键词。 \n
作为换行符。答案 2 :(得分:-1)
您可以通过多种方式执行此操作,方法是在字符串中附加字符,直到达到较小的字符串,然后使用Console.WriteLine()命令一次写入整个字符串,或者(更简单的方法)鉴于您的代码),只需测试新值小于前一个值并在文本中插入换行符。
// Start at zero
for (int i = 0; i < this.Length; i++)
{
// If this is not the first element in the array
// and the new element is smaller than the previous
if (i > 0 && this[i] < this[i-1])
{
// Then insert a new line into the output
Console.Write(Environment.NewLine);
}
Console.Write(this[i] + " ");
}
答案 3 :(得分:-1)
int[] numbers = new int[] { 1, 2, 3, 2, 4, 8, 9, 7 };
String orderedNumbers = String.Empty;
for (int i = 0; i < numbers.Length; i++)
{
if (i == 0 || numbers[i] > numbers[i - 1])
{
orderedNumbers += numbers[i].ToString();
}
else
{
orderedNumbers += System.Environment.NewLine + numbers[i].ToString();
}
}
MessageBox.Show(orderedNumbers);