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

C 語言入門:不用數組實現數字三角形/金字塔圖案打印(純循環與選擇結構)

     編輯:程式設計綜合問答

典型題目:打印等腰三角形


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

思路:雙重循環控制行與列

  • 外層循環控制行數 i = 1 ~ n。
  • 內層第一循環打印空格:n - i 個。
  • 內層第二循環打印星號:2*i - 1 個。
  • 每行結束換行。

完整代碼

#include <stdio.h>
int main() {
    int n;
    printf("請輸入行數:");
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        // 打印前導空格
        for (int s = 1; s <= n - i; s++)
            putchar(' ');
        // 打印星號
        for (int k = 1; k <= 2 * i - 1; k++)
            putchar('*');
        putchar('\n');
    }
    return 0;
}

變體:倒三角形

for (int i = n; i >= 1; i--) {
    for (int s = 1; s <= n - i; s++) putchar(' ');
    for (int k = 1; k <= 2 * i - 1; k++) putchar('*');
    putchar('\n');
}

變體:數字金字塔(每行遞增數字)

for (int i = 1; i <= n; i++) {
    for (int s = 1; s <= n - i; s++) putchar(' ');
    for (int k = 1; k <= i; k++) printf("%d", k);
    for (int k = i - 1; k >= 1; k--) printf("%d", k);
    putchar('\n');
}

核心知識點

  1. 無需數組,僅用循環計數器推導每行字符數量。
  2. putchar 比 printf("%c") 輕量,適合單字符輸出。
  3. 找規律:第 i 行空格數、星號數與 i 的線性關係。

練習建議

嘗試打印:空心三角形、帕斯卡三角形(需組合數計算)、菱形、乘法表對齊版。均屬「循環+選擇」範疇,是鍛邏輯思維的最佳素材。

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