#1852: 這題怎麼判斷輸入終止?


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
c105. 00270 - Lining Up -- UVa270 | From: [66.249.67.186] | 發表日期 : 2009-04-26 12:41

題目原本的:
網路上也找得到
http://acm.uva.es/p/v2/270.html

2

1 1
2 2
3 3
9 10
10 11

1 2
3 4

不過在最後一筆的N個座標 如何判斷結束?
還是用星小窩的方式輸入?
5
1 1
2 2
3 3
4 4
5 5

6
1 2
2 13
3 124
4 105
5 56
6 87

通過的人可以幫忙解釋一下嗎?
第一點測資明明只有5點 為什麼能構成8點共線...

 
#1854: Re:這題怎麼判斷輸入終止?


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
c105. 00270 - Lining Up -- UVa270 | From: [118.168.131.101] | 發表日期 : 2009-04-26 17:57

題目原本的:
網路上也找得到
http://acm.uva.es/p/v2/270.html

2

1 1
2 2
3 3
9 10
10 11

1 2
3 4

不過在最後一筆的N個座標 如何判斷結束?
還是用星小窩的方式輸入?
5
1 1
2 2
3 3
4 4
5 5

6
1 2
2 13
3 124
4 105
5 56
6 87

通過的人可以幫忙解釋一下嗎?
第一點測資明明只有5點 為什麼能構成8點共線...


關於輸入的問題

有時可以用

ch = getchar();

if(isdigit(ch))

ungetc(ch, stdin);

scanf("%d", &num);

getchar();  /* catch '\n' */

}

 

把讀到的字元放回緩衝區再一併讀一個整數 

所以這題判斷如果不是換行(因為資料間有空白行)

就一直讀2個整數

是換行就開始計算

只是scanf()按Enter後也會有換行, 所以要小心處理. 

 

 
#1855: Re:這題怎麼判斷輸入終止?


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
c105. 00270 - Lining Up -- UVa270 | From: [118.161.208.147] | 發表日期 : 2009-04-26 19:10

題目原本的:
網路上也找得到
http://acm.uva.es/p/v2/270.html

2

1 1
2 2
3 3
9 10
10 11

1 2
3 4

不過在最後一筆的N個座標 如何判斷結束?
還是用星小窩的方式輸入?
5
1 1
2 2
3 3
4 4
5 5

6
1 2
2 13
3 124
4 105
5 56
6 87

通過的人可以幫忙解釋一下嗎?
第一點測資明明只有5點 為什麼能構成8點共線...


關於輸入的問題

有時可以用

ch = getchar();

if(isdigit(ch))

ungetc(ch, stdin);

scanf("%d", &num);

getchar();  /* catch '\n' */

}

 

把讀到的字元放回緩衝區再一併讀一個整數 

所以這題判斷如果不是換行(因為資料間有空白行)

就一直讀2個整數

是換行就開始計算

只是scanf()按Enter後也會有換行, 所以要小心處理. 

 

所以這題判斷如果不是換行(因為資料間有空白行)

那最後一筆測資 也會換行?
 
#1861: Re:這題怎麼判斷輸入終止?


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
c105. 00270 - Lining Up -- UVa270 | From: [118.168.131.101] | 發表日期 : 2009-04-27 02:30

題目原本的:
網路上也找得到
http://acm.uva.es/p/v2/270.html

2

1 1
2 2
3 3
9 10
10 11

1 2
3 4

不過在最後一筆的N個座標 如何判斷結束?
還是用星小窩的方式輸入?
5
1 1
2 2
3 3
4 4
5 5

6
1 2
2 13
3 124
4 105
5 56
6 87

通過的人可以幫忙解釋一下嗎?
第一點測資明明只有5點 為什麼能構成8點共線...


關於輸入的問題

有時可以用

ch = getchar();

if(isdigit(ch))

ungetc(ch, stdin);

scanf("%d", &num);

getchar();  /* catch '\n' */

}

 

把讀到的字元放回緩衝區再一併讀一個整數 

所以這題判斷如果不是換行(因為資料間有空白行)

就一直讀2個整數

是換行就開始計算

只是scanf()按Enter後也會有換行, 所以要小心處理. 

 

所以這題判斷如果不是換行(因為資料間有空白行)

那最後一筆測資 也會換行?


最後一筆不會是換行而是EOF

 

 
ZeroJudge Forum