#16398: 簡易加法


thyou123 (thyou12)

學校 : 國立臺中教育大學
編號 : 89865
來源 : [61.223.0.61]
最後登入時間 :
2019-07-16 12:20:43
a002. 簡易加法 | From: [118.170.186.59] | 發表日期 : 2018-12-29 02:38

大家好,我是自學C語言的初學者
以下是程式碼及題目,希望好心人能幫我看看,謝謝!!

內容 : 請寫一個程式,讀入兩個數字,並求出它們的和。
 
輸入說明 : 每一組輸入有兩個整數,絕對值皆小於 106
 
輸出說明 : 對於每組輸入,輸出該兩整數的和。
 
範例輸入 : 5 10
              1 2
 
範例輸出 : 15
               3


我的程式碼:

#include <stdio.h>
int main() {
int a, b;

do {
scanf("%d%d", &a, &b);
printf("%d\n",a+b);
} while (a!=0 && b!=0);
return 0;
}
 
#16424: Re:簡易加法


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
a002. 簡易加法 | From: [36.233.193.28] | 發表日期 : 2018-12-30 10:12

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

 

問題在於,a、b可能等於 0,這樣 while 判斷就會不符條件而跳開

一般而言,有些題目要用以下方式讀取測資

while (scanf("%d %d", &a, &b) != EOF)

1. scanf()函式,成功讀到資料會傳回一個 int 型別的值,大小為成功讀取的個數

    例如本題scanf("%d %d", &a, &b);  會傳回 2

2. EOF 意思是 End Of File ,也就是檔案的結尾,當資料讀完後,scanf() 讀不到下一筆

    會傳回 EOF,EOF 在C 函式庫定義為  -1

3. while (scanf("%d %d", &a, &b) != EOF)

   意思就是當 scanf() 傳回值不等於 EOF時,執行迴圈內容

   這樣只要檔案還有資料,就會執行

4. 所以只要改成這樣 : 

  while (scanf("%d %d", &a, &b) != EOF)

{

printf("%d\n",a+b);

}

就可以過了

PS : scanf()的時候,建議雙引號內每個變數用空白格開,才不會讀到不想讀的東西

尤其在讀字元 %c 這個很重要

 
#16439: Re:簡易加法


thyou123 (thyou12)

學校 : 國立臺中教育大學
編號 : 89865
來源 : [61.223.0.61]
最後登入時間 :
2019-07-16 12:20:43
a002. 簡易加法 | From: [114.41.159.223] | 發表日期 : 2019-01-01 00:01

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

 

問題在於,a、b可能等於 0,這樣 while 判斷就會不符條件而跳開

一般而言,有些題目要用以下方式讀取測資

while (scanf("%d %d", &a, &b) != EOF)

1. scanf()函式,成功讀到資料會傳回一個 int 型別的值,大小為成功讀取的個數

    例如本題scanf("%d %d", &a, &b);  會傳回 2

2. EOF 意思是 End Of File ,也就是檔案的結尾,當資料讀完後,scanf() 讀不到下一筆

    會傳回 EOF,EOF 在C 函式庫定義為  -1

3. while (scanf("%d %d", &a, &b) != EOF)

   意思就是當 scanf() 傳回值不等於 EOF時,執行迴圈內容

   這樣只要檔案還有資料,就會執行

4. 所以只要改成這樣 : 

  while (scanf("%d %d", &a, &b) != EOF)

{

printf("%d\n",a+b);

}

就可以過了

PS : scanf()的時候,建議雙引號內每個變數用空白格開,才不會讀到不想讀的東西

尤其在讀字元 %c 這個很重要

我明白了
非常謝謝你用心解答!

 
ZeroJudge Forum