我试图在C#中生成此输出:
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
这是我的代码,但是不起作用:
int y, z;
for (z = 1; z <= 5; z++)
{
for ( y = 5 ; y >= z; y--)
{
Console.Write(y);
}
Console.WriteLine( );
}
Console.ReadLine();
答案 0 :(得分:0)
您快到了。问题是您的第二个循环:您正在从5
到z
进行计数,并且应该从5 - z + 1
到1
进行计数,并在y
为{{ 1}}:
0
当然,更干净的方法是反转第一个循环并利用可用的框架工具:
for (z = 1; z <= 5; z++)
{
for ( y = 5 - z + 1; y > 0; y--)
{
Console.Write(y);
}
Console.WriteLine( );
}
答案 1 :(得分:0)
我认为这段代码可以为您提供帮助。
for (int i = 5 ; i >= 1 ; i-- )
{
for (int j = i; j >= 1; j--)
{
Console.Write(j);
}
Console.WriteLine("\n");
}
onsole.ReadLine();
答案 2 :(得分:0)
以防万一您想使用一个循环(在本例中为while循环)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PrintOutput
{
class Program
{
static void Main(string[] args)
{
List<int> nums = new List<int>(new int[] { 1, 2, 3, 4, 5 });
while(nums.Count()>0)
{
Console.WriteLine(string.Join(" ", nums));
nums.Remove(nums.Max());
}
Console.ReadLine();
}
}
}