作者lienkf7842 (Hameimei)
看板C_and_CPP
標題[ACM ] 輸入問題
時間Sun Dec 13 21:53:23 2009
這題10201租車加油的問題 我遇上了 cases數前的輸入問題T.T
很少再寫ACM 所以怕問題很新手 GG
題目的Input要
2
500
100 999
150 888
200 777
300 999
400 1009
450 1019
500 1399
600
100 9567
150 86
200 567
300 67
400 8
420 1
450 3
然後我的CODE如下
int cases,c;
scanf("%d", &cases);
for( c=0;c<cases; c++)
{
int len, i, j, k;
scanf("%d", &len);
int n = 1;
while( scanf("%d %d", &dist[n], &cost[n]) != EOF)
n++;
...
}
我使用 cmd 下 10201.ext < sample.txt(就是INPUT) 時
資料流在
...
500 1399
600
100 956
...
裡的 1399讀完後
不會結束那迴圈
而會把 600 100 956 也一起吃進去...
要怎麼樣跳過那空白行啊
我想要看到blankline 就結束while
GOOGLE上也只是教 scanf("%d",a) != EOF
有做過其他題 他的INPUT都是一個一個不是一對一對時 就沒這問題
懇請大家幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.134.41
推 tw00088437:while( scanf("%d %d", &dist[n], &cost[n])==2) 12/13 21:56
→ lienkf7842:gg ,too T.T 12/13 22:21
推 ledia:無法, 請改用 fgets, 再處理 buffer 中的資料 12/13 22:30
推 shik:gets + sscanf 12/13 23:41