[問題] 高中生 解題系統 b964

作者: tyjh (....)   2018-09-20 21:28:14
題目網址
https://zerojudge.tw/ShowProblem?problemid=b964
找到參考解答
要問的是 while (scanf("%d",&n) !=EOF )
!=EOF 是什麼意思呢
常常看到 競賽題 為何都要這樣寫@@
用C++的 while ( cin>>n ) 是否也可呢?
#include <cstdio>
#include <cstdlib>
int cmp(const void * a, const void * b){
return ( *(int*)a - *(int*)b );
}
int main(){
int n,score[20],a60,b60;
while (scanf("%d",&n) !=EOF ){
a60=-1,b60=-1;
for(int i=0;i<n;i++){
scanf("%d",&score[i]);
}
qsort(score,n,sizeof(int),cmp);
for(int i=0;i<n;i++){//由前往後找小於60的最大數
if (score[i]<60) b60=score[i];
}
for(int i=n-1;i>=0;i
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-09-20 21:42:00
安安你好 你有看過scanf()走路嗎
作者: tyjh (....)   2018-09-20 21:58:00
哈 對耶 scanf 是輸入 恩 我換個問法
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-09-20 22:47:00
……不是這個意思好嗎
作者: moebear (萌熊)   2018-09-20 23:33:00
end of file
作者: Ori185 (Ori185)   2018-09-20 23:37:00
我在primer學到的是,EOF就像4樓講的叫做檔案終點,用來告訴程式我已經輸入完畢的意思利用EOF來傳達輸入結束,可以避免用一些符號作輸入結束時,又遇到要輸出這些符號的狀況
作者: bigbite (子子孫孫永保用)   2018-09-20 23:49:00
其實你去看scanf的manpage有提到"The value EOF is returned if the end of input is reached..."
作者: tyjh (....)   2018-09-21 09:24:00
了解
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-09-21 14:18:00
你scanf()到底在哪裡學的 為什麼有一種你的課本上都沒有範例程式的感覺 從上上次就是這樣了
作者: bigbite (子子孫孫永保用)   2018-09-21 16:44:00
原po應該是剛開始學程式對嗎?不懂的多問吧
作者: moebear (萌熊)   2018-09-22 03:45:00
可以多到http://www.cplusplus.com/ 這邊查找

Links booklink

Contact Us: admin [ a t ] ucptt.com