輸入 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;
}
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");
}
}