无法验证c#模式程序

时间:2015-08-28 11:19:12

标签: c# multidimensional-array

    using System;
namespace pattern
{
  class mat
  {
    public static void Main(string[] args)
    {
      int i,j;
      Console.WriteLine("Enter the order of square matrix");
      string ip=Console.ReadLine();
      int n=Int32.Parse(ip);
      int[ , ] a=new int[n,n];
      //string[ , ] b=new string[n,n];
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {
      a[i,j]=-1;
        }
      }
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {
          if(i==j)
            {
              a[i,j]=0;
         // Console.WriteLine(a[i,j]);
            }
          else if(j>i)
          {
            a[i,j]=1;
          }
          //b[i,j]=a[i,j].ToString();
        }
      }
      Console.WriteLine("Pattern:");
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {  Console.Write("{0,-3}",a[i,  j]);

       //   Console.Write("{0}",b[i,  j].PadRight(3));
        }
        Console.WriteLine();
      }


        }
      }``
}

输出:

Enter the order of square matrix:
5
Pattern:
0  1  1  1  1  
-1 0  1  1  1  
-1 -1 0  1  1  
-1 -1 -1 0  1  
-1 -1 -1 -1 0

程序在逻辑上是正确的但是,如果我在Console.WriteLine中使用{0,-3}来打印数字编译器显示数字之间有更多空格并且如果我使用{0 ,-2}编译器显示它们之间的空间较小,我不能使用{0,-2.5}。 请帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:2)

如果您只想统一显示数字,请尝试:

Console.Write("{0,3}",a[i,  j]);