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

HDU 1000 A+B Problem:C 語言標準輸入輸出模板與 EOF 處理詳解

     編輯:關於C語言

題目大意

讀取多行輸入,每行兩個整數 A、B,輸出 A+B,直到檔案結尾 (EOF)。

標準 AC 代碼

#include <stdio.h>

int main() {
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF) {
        printf("%d\n", a + b);
    }
    return 0;
}

關鍵點解析

程式碼片段作用
scanf("%d %d", &a, &b)讀取兩整數,回傳成功匹配項數 (2),失敗回傳 EOF (-1)
!= EOF檔案結尾或讀取錯誤時終止迴圈
printf("%d\n", ...)每行輸出一個結果,自動換行

常見變體與陷阱

  • 輸入第一行為測資筆數 T:改用 for (int i=0; i 讀取。
  • 大數相加:需高精度陣列/字串模擬(C 語言無內建 BigInt)。
  • 快速 IO:大量資料時用 fread/fwrite 或 getchar_unlocked 優化。

線上判題系統 (OJ) 提交注意事項

  1. 主函式回傳 0。
  2. 無額外輸出(如提示字串)。
  3. 使用標準輸入/輸出 (stdin/stdout)。
  4. 避免 system("pause")、conio.h 等非標準函式。

總結

while (scanf(...) != EOF) 是 C 語言 OJ 題「多行未知數量輸入」的標準模式,簡潔、可移植、效能足夠。掌握此模板,即可輕鬆應對 A+B 類入門題目。

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