2015-01-13 101 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(); 
 
     } 
 
    } 
 
}

謝謝大家!...上面的代碼正在工作....