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

C 語言循環練習:九九乘法表的多種輸出格式與循環變體

     編輯:關於C語言

問題描述

打印 9×9 乘法表。核心考點:雙層嵌套循環、循環邊界控制、格式化輸出對齊。原代碼輸出為下三角倒序,這是常見變體之一。

原代碼:倒序下三角


#include <stdio.h>

void star(void);

int main() {
    int i, j;
    printf("**********打印9*9乘法表*************\n");
    star();
    for (i = 9; i > 0; i--) {        // 外層倒序 9→1
        for (j = 1; j <= i; j++) {   // 內層 1→i
            printf("%d  ", j * i);
        }
        printf("\n");
    }
    star();
    return 0;
}

void star(void) {
    for (int i = 0; i < 36; i++) printf("*");
    printf("\n");
}

輸出效果

************************************
9  18  27  36  45  54  63  72  81
8  16  24  32  40  48  56  64
7  14  21  28  35  42  49
6  12  18  24  30  36
5  10  15  20  25
4  8  12  16
3  6  9
2  4
1
************************************

標準版:正序下三角 (教科書常見)


void print_standard() {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            printf("%d×%d=%-3d ", j, i, i*j);  // %-3d 左對齊寬度3
        }
        printf("\n");
    }
}
1×1=1
1×2=2  2×2=4
1×3=3  2×3=6  3×3=9
...
1×9=9  2×9=18 ... 9×9=81

完整矩陣版:9×9 全表


void print_full_matrix() {
    printf("   |");
    for (int i = 1; i <= 9; i++) printf("%4d", i);
    printf("\n---+----------------------------------------\n");
    for (int i = 1; i <= 9; i++) {
        printf("%2d |", i);
        for (int j = 1; j <= 9; j++)
            printf("%4d", i*j);
        printf("\n");
    }
}

格式化輸出技巧總結

關鍵:%-3d 左對齊讓列整齊,乘法表必備。

循環變體:while / do-while 實現


// while 版
void print_while() {
    int i = 1, j;
    while (i <= 9) {
        j = 1;
        while (j <= i) {
            printf("%d×%d=%-3d ", j, i, i*j);
            j++;
        }
        printf("\n");
        i++;
    }
}

// do-while 版 (至少執行一次)
void print_dowhile() {
    int i = 1, j;
    do {
        j = 1;
        do {
            printf("%d×%d=%-3d ", j, i, i*j);
            j++;
        } while (j <= i);
        printf("\n");
        i++;
    } while (i <= 9);
}

總結

九九乘法表是雙層循環、邊界控制、格式化輸出的綜合練習。關鍵收穫:

  • 外層控制行 (乘數),內層控制列 (被乘數);
  • 下三角:j <= i;全矩陣:j <= 9;
  • %-3d 左對齊是對齊關鍵,避免列錯位;
  • while/do-while/for 互換練習加深循環語義理解;
  • 分隔線函數 star() 體現模塊化思想,可擴展為通用 print_line(char c, int len)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
格式符含義示例輸出
%d右對齊默認寬度` 9`
%3d右對齊寬度 3` 9`
%-3d左對齊寬度 3`9 `
%2d×%-2d=%-3d混合對齊表達式`1×9 =18 `