天天看點

簡單的A+B

傳送門簡單的A+B問題

題目描述

輸入兩個整數a和b,計算a+b的和

本題很簡單,但是注意此題是多組測試資料,即需要不停的接收系統的測試輸入,你都可以計算結果并輸出

輸入格式

輸入兩個整數A和B

範圍不超過2^10

輸出格式

求A+B

樣例輸入

1 1

10 20

樣例輸出

2

30

思路:

本題的代碼其實很簡單,但往往忽略樣例是不斷輸入的,且并不需要在輸入前規定有幾個樣例被輸入。是以我們可以用while來解題

#include <iostream> 
#include<cstdio>
using namespace std;

int main()

{

    int a,b;

   /*  while(cin>>a>>b)

    cout<<a+b<<endl; */
    while(scanf("%d%d",&a,&b)!=EOF)
    printf("%d\n",a+b);

    return 0;

}
           

當上面的程式運作時,如果不加" != EOF",那麼這個程式就是個死循環,會一直運作下去;加上" != EOF"後該程式就不是死循環了,如果在終端不進行輸入該程式會自動結束(while的意思就是說當目前輸入緩存還有東西時就一直讀取,直到輸入緩存中的内容為空時停止)。

在這"scanf(“%d”,&n) != EOF"相當于"~scanf(“%d”,&n)“,或"scanf(”%d",&n) == 1 " 。scanf的傳回值由後面的參數決定

有小夥伴會問到上面那個程式怎麼結束呢?

要注意的是:在終端(黑框)中手動輸入時,系統并不知道什麼時候到達了所謂的“檔案末尾”,是以需要用<Ctrl + z>組合鍵然後按 Enter 鍵的方式來告訴系統已經到了EOF,這樣系統才會結束while.

詳細解釋請看這個網址

繼續閱讀