首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言星號圖形列印教學(五):空心金字塔

     編輯:關於C語言

圖形目標

列印高度 5 行的空心金字塔(僅邊框):

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

核心邏輯

  • 第 1 至 num-1 行:僅在左右邊界列印 *,位置為 num-i+1 與 num+i-1
  • 第 num 行(底行):連續列印 2*num-1 個 *

程式碼實作

#include <stdio.h>

const int num = 5;

int main() {
    int i, j;

    for(i = 1; i <= num; i++) {
        for(j = 1; j < 2*num; j++) {
            if(i < num) {
                // 非底行:只列印左右邊界
                if(j == num - i + 1 || j == num + i - 1) {
                    printf("*");
                } else {
                    printf(" ");
                }
            } else {
                // 底行:全部列印 *
                if(j >= num - i + 1 && j <= num + i - 1) {
                    printf("*");
                } else {
                    printf(" ");
                }
            }
        }
        printf("\n");
    }
    return 0;
}

關鍵技巧

利用 i < num 與 i == num 分支處理邊框與填滿的差異,體現條件分支在圖形生成中的應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved