C# 打印100比1?如何打印?

C# 打印100比1?如何打印?,c#,C#,在每行上打印10个数字,下面是我所做但仍不成功的代码,请帮助 namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int i; for (i =100; i>=1; i--) { Console.Write(i);

在每行上打印10个数字,下面是我所做但仍不成功的代码,请帮助

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;

            for (i =100; i>=1; i--)
            {
                       Console.Write(i);

            }
            Console.ReadLine();

        }
    }
}
试试这个

static void Main(string[] args)
       {
            int i=100;

             for (i; i <=100; i--)
             {
                Console.Write(i);
                 if(i==0)
                  {
                   break;
                  }

               }
             Console.ReadLine();   

        }
否则,此for循环不会结束

using System;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;

            for (i = 100; i > 0; i--)
            {
                if(i%10==0)Console.WriteLine();
                Console.Write(i);
            }
            Console.ReadLine();

        }
    }
}
更新的演示:

试试这个:

for (i = 100; i >=1; i--)
{
    if(i%10==0)                 //if 10 numbers are printed
        Console.WriteLine();    //then line break
    Console.Write(i+" ");       //print the number with a space character
}
Console.ReadLine();
它将在每行打印10个数字

结果:

100 99 98 97 96 95 94 93 92 91 

90 89 88 87 86 85 84 83 82 81 

80 79 78 77 76 75 74 73 72 71 

70 69 68 67 66 65 64 63 62 61 

60 59 58 57 56 55 54 53 52 51 

50 49 48 47 46 45 44 43 42 41 

40 39 38 37 36 35 34 33 32 31 

30 29 28 27 26 25 24 23 22 21 

20 19 18 17 16 15 14 13 12 11 

10 9 8 7 6 5 4 3 2 1 

请参见中的结果。

您也可以使用
StringBuilder
来构建每行10个数字,但这样的连接应该会产生足够的结果(因为它只有100个数字)


这可能会满足您的需要:

  Enumerable.Range(1, 100).Reverse()
    .ToList()
    .ForEach(i => Console.Write(i % 10 == 1 ? i + "\r\n" : i + ", "));
这将输出:

100, 99, 98, 97, 96, 95, 94, 93, 92, 91
90, 89, 88, 87, 86, 85, 84, 83, 82, 81
80, 79, 78, 77, 76, 75, 74, 73, 72, 71
70, 69, 68, 67, 66, 65, 64, 63, 62, 61
60, 59, 58, 57, 56, 55, 54, 53, 52, 51
50, 49, 48, 47, 46, 45, 44, 43, 42, 41
40, 39, 38, 37, 36, 35, 34, 33, 32, 31
30, 29, 28, 27, 26, 25, 24, 23, 22, 21
20, 19, 18, 17, 16, 15, 14, 13, 12, 11
10, 9, 8, 7, 6, 5, 4, 3, 2, 1

循环进行100到1的迭代。然后,使用索引%10==0的当前检查,将Console.Write更改为Console.Writeline()。不要复制语法,理解它。为什么你把i设置为100,然后给i赋值0?@ThomasLindvall我完成了之前的代码,但是我怎么能在每行打印10个数字呢?我的答案让你明白了你想要的吗?如果是的话,请随意接受答案,以便将来帮助他人找到正确答案。那是什么?你的答案比其他人好多少?OP想在一行上打印10个数字。你只回答OP问题的一部分。
foreach (var number in Enumerable.Range(1, 100).ToArray().Reverse())
{
    Console.Write((number % 10 == 0) ? "\n" : (number.ToString() + " "));
}
static void Main(string[] args)
{
    for (int i = 100; i >0; i--)
    {
        if (i % 10 == 0)
            Console.WriteLine();
        Console.Write(i);                  
    }
    Console.ReadLine();
}
  Enumerable.Range(1, 100).Reverse()
    .ToList()
    .ForEach(i => Console.Write(i % 10 == 1 ? i + "\r\n" : i + ", "));
100, 99, 98, 97, 96, 95, 94, 93, 92, 91
90, 89, 88, 87, 86, 85, 84, 83, 82, 81
80, 79, 78, 77, 76, 75, 74, 73, 72, 71
70, 69, 68, 67, 66, 65, 64, 63, 62, 61
60, 59, 58, 57, 56, 55, 54, 53, 52, 51
50, 49, 48, 47, 46, 45, 44, 43, 42, 41
40, 39, 38, 37, 36, 35, 34, 33, 32, 31
30, 29, 28, 27, 26, 25, 24, 23, 22, 21
20, 19, 18, 17, 16, 15, 14, 13, 12, 11
10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Enumerable.Range(0, 10).Reverse().ToList().ForEach(n =>
    {
        Enumerable.Range(n * 10, 10).Select(i => i + 1).Reverse().ToList().ForEach(i => Console.Write(i + " "));
        Console.WriteLine();
    });

// output: 100 99 98 97 96 95 94 93 92 91
//         90 89 88 87 86 85 84 83 82 81
//         80 79 78 77 76 75 74 73 72 71
//         70 69 68 67 66 65 64 63 62 61
//         60 59 58 57 56 55 54 53 52 51
//         50 49 48 47 46 45 44 43 42 41
//         40 39 38 37 36 35 34 33 32 31
//         30 29 28 27 26 25 24 23 22 21
//         20 19 18 17 16 15 14 13 12 11
//         10 9 8 7 6 5 4 3 2 1