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

C++ 經典圖形輸出實作:上三角、下三角、菱形、楊輝三角完整代碼解析

     編輯:更多程式設計知識

控制台輸出幾何圖形是初學者迴圈控制的經典練習。本文提供四種圖形的標準實作,詳細解析空白與星號的行列關係,並附楊輝三角的陣列演算法邏輯。

1. 上三角(正三角)

第 i 行:5-i 個空格 + 2*i-1 顆星號

for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= 5-i; j++) cout << ' ';
    for (int j = 1; j <= 2*i-1; j++) cout << '*';
    cout << endl;
}

2. 下三角(倒三角)

第 i 行:i-1 個空格 + 9-2*(i-1) 顆星號

for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= i-1; j++) cout << ' ';
    for (int j = 1; j <= 9-2*(i-1); j++) cout << '*';
    cout << endl;
}

3. 菱形

上半部正三角(1~5 行)+ 下半部倒三角(4~1 行)

// 上半
for (int i = 1; i <= 5; i++) { /* 同正三角 */ }
// 下半
for (int i = 4; i >= 1; i--) { /* 同倒三角,行數從 4 遞減 */ }

4. 楊輝三角

核心規律:a[i][j] = a[i-1][j-1] + a[i-1][j+1](採用間隔陣列對齊顯示)

int a[10][21] = {0};
a[0][10] = 1; // 頂點置中

for (int i = 1; i < 10; i++)
    for (int j = 10-i; j <= 10+i; j += 2)
        a[i][j] = a[i-1][j-1] + a[i-1][j+1];

// 輸出:0 顯示為空格
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 21; j++)
        cout << (a[i][j] ? a[i][j] : ' ');
    cout << endl;
}

學習重點

  • 雙重迴圈控制行與列
  • 推導每行空白/星號數量的數學關係
  • 楊輝三角展示二維陣列狀態轉移與對齊列印技巧
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved