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

PAT 基礎練習:循環-01 求整數區間和(含格式化輸出坑點解析)

     編輯:關於C語言

題目要求

輸入兩整數 a b(a ≤ b),輸出 a..b 所有整數,每 5 個換行,每數佔 5 字元寬度右對齊,最後輸出總和 Sum = x。

常見錯誤:printf("%*i", 5, i) 的對齊陷阱

%*i 的 `*` 代表**最小寬度**,若數字位數超過 5 會自動展寬,**不會截斷**,導致輸出欄位錯位。題目測資可能含較大數字,需改用固定格式:

printf("%5d", i); // 強制 5 字元寬度,超寬仍完整輸出

正確邏輯框架

int main() {
    int a, b, sum = 0, cnt = 0;
    scanf("%d %d", &a, &b);
    for (int i = a; i <= b; i++) {
        printf("%5d", i);
        sum += i;
        if (++cnt == 5 && i != b) { putchar('\n'); cnt = 0; }
    }
    printf("\nSum = %d\n", sum);
    return 0;
}

關鍵點

  • sum 必須初始化為 0
  • 換行條件:滿 5 個 且 非最後一個
  • 迴圈結束後補印換行與總和

題目連結:PAT Basic - 循環-01

錯誤輸出截圖
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved