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

C 語言打印等腰三角形:雙重循環控制空格與星號數量

     編輯:程式設計綜合問答

直角三角形 vs 等腰三角形

直角三角形每行星號遞增;等腰三角形每行星號為奇數 (1,3,5...),前面需填充空格使其居中。

代碼實現

#include <stdio.h>

int main() {
    int rows;
    printf("請輸入行數: ");
    scanf("%d", &rows);

    for (int i = 1; i <= rows; i++) {
        // 打印前導空格:rows - i 個
        for (int s = 1; s <= rows - i; s++) {
            printf(" ");
        }
        // 打印星號:2*i - 1 個
        for (int j = 1; j <= 2 * i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

運行示例 (rows=5)

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

變體:倒置等腰三角形

for (int i = rows; i >= 1; i--) {
    for (int s = 1; s <= rows - i; s++) printf(" ");
    for (int j = 1; j <= 2 * i - 1; j++) printf("*");
    printf("\n");
}

核心規律總結

  • 第 i 行:空格數 = 總行數 - i,星號數 = 2*i - 1。
  • 雙層循環外層控制行,內層分別控制空格與星號。
  • 可擴展為空心三角形:只打印首尾星號,中間填空格。

參考教程

百度經驗 C語言打印等腰三角形圖文詳解。

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