C語言輸出等腰三角形

2020-07-16 10:04:28
本範例要求從鍵盤輸入任意整數 n,通過程式執行輸出對應高度為 n 的等腰三角形。

演算法思想

① 設計以高度 n 為引數的一個函數,函數返回值為空,在函數體中實現等腰三角形的列印;圖形的最終列印需要利用二層迴圈設計實現。

② 圖形共輸出 n 行,外迴圈變數 i 表示 n 行的輸出,迴圈變數的變化範圍為 0~(n—1)。

③ 迴圈變數 j 表示每一行的“*”號輸出。由於每一行的輸出不同,第 j 行輸出空格的個數為 (n—i),第 j 行輸出“*”號的個數為(2*i+1)。控制“*”號輸出的內迴圈變數 j 的變化範圍為 0~(2*i)。

④ 在主函數中輸入 n 作為實參,呼叫定義函數,列印等腰三角形。

程式程式碼

#include <stdio.h>
int trangle(int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<=n-i;j++)
            putchar(' ');
        for(j=0;j<=2*i;j++)
            putchar('*');
        putchar('n');
    }
    return 0;
}

int main()
{
    int n;
    printf("Enter n:");
    scanf("%d",&n);
    printf("n");
    trangle(n);
    return 0;
}

偵錯執行結果

當 n 取值為 8 時,列印出的等腰三角形如下所示:
Enter n:8

         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
當 n 取值為 20 時,列印出的等腰三角形如下所示:
Enter n:20

                     *
                    ***
                   *****
                  *******
                 *********
                ***********
               *************
              ***************
             *****************
            *******************
           *********************
          ***********************
         *************************
        ***************************
       *****************************
      *******************************
     *********************************
    ***********************************
   *************************************
  ***************************************