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

C語言字元圖形:單一雙重迴圈列印頂朝上等腰三角形(星號圖五)

     編輯:關於C

與前一題的關係

本程式外層迴圈 for(i=1; i<=num; i++) 從頂向下列印,邏輯與前題鏡像對稱,輸出圖形為頂朝上的等腰三角形(底部實心、上方空心)。

完整程式碼

#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 && (j == num-i+1 || j == num+i-1)) ||  // 上方空心行
                 (i == num && j >= num-i+1 && j <= num+i-1) ) { // 底部實心行
                printf("*");
            } else {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

執行輸出 (num=5)

    *       <- 第1行(頂)單點
   * *      <- 第2行空心
  *   *     <- 第3行空心
 *     *    <- 第4行空心
*********   <- 第5行(底)實心

三角形系列總結

類型外層迴圈頂點位置底部樣式
頂朝上空心+實心底i=1..num頂實心
底朝上空心+實心底i=num..1底實心
完整菱形空心上下分段上下各一無(尖端)
完整菱形實心上下分段上下各一中間最寬

統一座標公式

第 i 行(1-based,從頂開始),寬度 W = 2*num-1:

  • 左邊界 = num - i + 1
  • 右邊界 = num + i - 1

空心:j==left || j==right;實心:j>=left && j<=right。

頂朝上三角形截圖

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