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

C語言遞歸打印乘法口訣表:任意行數三角形輸出

     編輯:關於C語言

C語言遞歸打印乘法口訣表:任意行數三角形輸出

輸入 n,打印 n 行乘法口訣表(三角形)。如 n=5 輸出 1×1 到 5×5 的下三角部分。採用雙層循環,非遞歸(原文標題誤標)。

代碼實現

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

void mul_table(int n) {
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= i; j++) {
            printf("%d*%d=%-3d ", i, j, i*j);
        }
        printf("\n");
    }
}

int main() {
    int n;
    printf("請輸入行數:");
    scanf("%d", &n);
    mul_table(n);
    system("pause");
    return 0;
}

運行示例 (n=5)

1*1=1
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12 4*4=16
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25

遞歸版實現(補充)

void mul_table_rec(int n, int row) {
    if (row > n) return;
    for (int j = 1; j <= row; j++) {
        printf("%d*%d=%-3d ", row, j, row*j);
    }
    printf("\n");
    mul_table_rec(n, row + 1);
}

// 調用:mul_table_rec(n, 1);

格式化輸出技巧

  • %-3d:左對齊佔 3 字符,列對齊整齊
  • %3d:右對齊
  • 可用 \t 但寬度不固定

擴展:完整矩形口訣表

void full_table(int n) {
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            printf("%d*%d=%-3d ", i, j, i*j);
        }
        printf("\n");
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved