2015-01-13 103 views
-7
class Triangle 
{ 
    static void Main(string[] args) 
    { 
     int i,j,k,odd=1,size,s=0; 
     Console.Write("Enter the Size:"); 
     size = Convert.ToInt32(Console.ReadLine()); 
     int nofSpaces=size-1; 
     for (i = 1; i <= size; i++) 
     { 
      for (k = 1; k <= nofSpaces; k++) 
      { 
       Console.Write(" "); 
      } 
      for (j = 1; j <= odd; j++) 
      { 
       if (i >= j) 
       { 
        s = s + 1; 
       } 
       else 
       { 
        s = s - 1; 
       } 

       Console.Write(s); 
      } 
      Console.Write("\n"); 
      odd = odd + 2; 
      nofSpaces = nofSpaces - 1; 
     } 
     Console.ReadKey(); 
    } 
} 

这是代码,它提供了以下结果:C#程序打印数字三角形?

1 
    232 
    34543 
4567654 
56789875 

但我需要的结果是这样的:

1 
    121 
    12321 
1234321 
--------- 

任何帮助将不胜感激。谢谢。

+0

调试是你的朋友 – ChrisC73

+0

设置断点,单步执行代码,将期望值与实际值进行比较。提示:注意s – DrKoch

回答

2

在你的代码正确的行添加

s = 0; 

+3

发现“right line”留作练习;) – DrKoch

+0

你在说什么我不明白什么是“right line”> –

+0

在你的代码中声明's = 0;'不见了。我打算让你知道你应该在哪里添加这一行。学习有价值的东西的好方法。 – DrKoch

1

你应该试试这个... 这是一个简单的例子与循环

class Triangle 
{ 
    static void Main(string[] args) 
    { 
       int size; 
       Console.Write("Enter the Size:"); 
       size = Convert.ToInt32(Console.ReadLine()); 
       for (int i = 0; i < size; i++) 
       { 
        for (int j = size ; j > i; j--) 
        { 
         Console.Write(" "); 
        } 

        for (int x = 1; x <= i; x++) 
        { 
         Console.Write(x); 
        } 
        for (int j = i-1; j > 0; j--) 
        { 
         Console.Write(j); 
        } 
        Console.WriteLine(); 
       } 
        Console.ReadKey(); 
     } 
} 
0

请写出如下

static void Main(string[] args) 
     { 
      int i, j, k, odd = 1, size, s = 0; 
      Console.Write("Enter the Size:"); 
      size = Convert.ToInt32(Console.ReadLine()); 
      int nofSpaces = size - 1; 
      for (i = 1; i <= size; i++) 
      { 
       for (k = 1; k <= nofSpaces; k++) 
       { 
        Console.Write(" "); 
       } 
       s = 0; 
       for (j = 1; j <= odd; j++) 
       { 
        if (i >= j) 
        { 
         s = s + 1; 
        } 
        else 
        { 
         s = s - 1; 
        } 

        Console.Write(s); 
       } 
       Console.Write("\n"); 
       odd = odd + 2; 
       nofSpaces = nofSpaces - 1; 
      } 
      Console.ReadKey(); 
     } 
2

class Triangle 
 
    { 
 
     static void Main(string[] args) 
 
     { 
 
      int i,j,k,odd=1,size; 
 
      Console.Write("Enter the Size:"); 
 
      size = Convert.ToInt32(Console.ReadLine()); 
 
      int nofSpaces=size-1; 
 
      int s = 0; 
 
      for (i = 1; i <= size; i++) 
 
      { 
 
       int g = 0; 
 
       for (k = 1; k <= nofSpaces; k++) 
 
       { 
 
        Console.Write(" "); 
 
       } 
 
       for (j = 1; j <= odd; j++) 
 
       { 
 
        
 
        if (i >= j) 
 
        { 
 

 

 
         Console.Write(j); 
 
         g = j; 
 
        } 
 

 
        else 
 
        { 
 

 
         //for (int n = j-1; n >= i; n--) 
 
         //{ 
 
         // Console.Write(n - 1); 
 
         //} 
 
         Console.Write(--g); 
 
        } 
 
        
 
       } 
 
       Console.Write("\n"); 
 
       odd = odd + 2; 
 
       nofSpaces = nofSpaces - 1; 
 
      } 
 
      Console.ReadKey(); 
 
     } 
 
    } 
 
}

谢谢大家!...上面的代码正在工作....