看板 C_and_CPP 關於我們 聯絡資訊
這題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