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

C語言實現九九乘法表:多種循環結構與跨語言對比

     編輯:關於C語言

C語言實現九九乘法表:多種循環結構與跨語言對比

九九乘法表是循環嵌套的經典教學案例。本文以 C 語言為主線,涵蓋 PAT 基礎編程題目標準解、VB 單循環技巧、C# 雙重循環實現,幫助你掌握輸出格式控制、循環邊界處理及跨語言思維遷移。

PAT 標準題目需求分析

  • 輸入:整數 N(1 ≤ N ≤ 9)
  • 輸出:N 行乘法表,第 i 行包含 1×i 到 i×i
  • 格式:j*i=結果,項目間用 \t 分隔,每行末尾換行

C 語言標準雙重循環解法

#include <stdio.h>

int main(void) {
    int N;
    scanf("%d", &N);
    
    for (int i = 1; i <= N; i++) {      // 控制行:1 到 N
        for (int j = 1; j <= i; j++) {  // 控制列:1 到 i
            printf("%d*%d=%d\t", j, i, j * i);
        }
        printf("\n");                     // 行末換行
    }
    return 0;
}

關鍵點解析

要素說明易錯點
外層循環i = 1; i <= N; i++邊界條件用 <= 而非 <
內層循環j = 1; j <= i; j++上限隨行號變化,體現三角形結構
格式控制\t 制表符對齊末項後無需 \t,但無害
輸入處理scanf("%d", &N)必須取地址 &N

VB 版單循環技巧實現

利用 Tab 定位模擬表格佈局,僅用一層循環完成打印:

Private Sub Form_Click()
    Dim i, j, k As Integer
    Print String(100, "*")
    Print Tab(45); "九九法則"
    Print String(100, "*")
    
    ' 打印列標題 0-9
    For i = 0 To 9
        Print Tab(i * 8); i;
    Next i
    Print
    
    ' 打印乘法表主體
    For j = 1 To 9
        Print j;  ' 行首標籤
        For k = 1 To j
            Print Tab(k * 8); j & "X" & k & "=" & j * k;
        Next k
        Print
    Next j
End Sub

核心思想: 通過座標計算(Tab(k * 8))直接定位輸出位置,將二維邏輯映射到一維輸出流。

C# 控制台雙重循環實現

for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        Console.Write(j + "*" + i + "=" + j * i + "\t");
    }
    Console.WriteLine();
}
Console.ReadLine();

語法差異: Console.Write 不換行,Console.WriteLine 換行;字符串拼接用 + 運算符。

進階變體與擴展練習

  1. 右對齊版:使用 printf("%2d*%2d=%2d\t", j, i, j*i) 固定寬度
  2. 完整 9×9 方陣:內層循環 j <= 9,條件輸出 if (j <= i)
  3. 倒序三角:外層 i = N; i >= 1; i--
  4. 文件輸出:將 stdout 重定向或用 fprintf 寫入文件

跨語言循環構造對比表

語言循環關鍵字塊標記輸出函數格式化
Cfor/while/do-while{ }printf%d %s \t \n
VB6For/Next無(縮進)PrintTab(); & 拼接
C#for/foreach/while{ }Console.Write/Line+ 拼接 / $插值
Pythonfor/while縮進print()f-string / format

九九乘法表看似簡單,實則蘊含「邊界控制、格式化輸出、巢狀邏輯」三大編程核心能力。建議動手實現 C/C#/Python 三個版本,體會語法糖背後的統一計算模型,培養「一通百通」的遷移能力。

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