[轉]ACM新手之八大輸入輸出格式

在ACM題庫中,不管是文件輸出(輸入)還是標準輸出(輸入),都有着一定的格式,下面我就以杭電1089——1096爲例子,簡單的介紹一下。

第一種:A+B for Input-Output Practice (I)

【輸入】有多組輸入數據,但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。

【輸出】有多組輸出,對應着每組輸入,每組輸出佔一行。

【代碼】對於上述常見的情況,我們可以用下面的代碼來解決。

沒有告訴我們有多少組,我們只需要等待即可:while (scanf (……) != EOF)

相對應輸入,輸出只需要在while中輸出。【完整代碼】

第二種:A+B for Input-Output Practice (II)

【輸入】先輸入一個整數,告訴我們接下來有多少組數據,然後在輸入每組數據的具體值。

【輸出】有多組輸出,對應着每組輸入,每組輸出佔一行。

【代碼】這也是一種常見的輸入形式,簡單的代碼,我們可以先用scanf函數輸入第一個整數來確定有多少行,然後在用for循環一組一組的輸入。【完整代碼】

第三種:A+B for Input-Output Practice (III)

【輸入】有多組輸入數據,沒有具體的告訴你有多少組,但是題目卻告訴你遇見什麼結束。

【輸出】有多組輸出,沒對應一組輸入都有相應的輸出,結束標記不用管!

【代碼】這種類型的題目和第一種差不多,但是有一點值得注意,就是要加上結束條件。對於這道題我麼可以這樣while(scanf(“%d%d”, &a, &b) && (!(a==0 && b==0))),當然你也可以將條件寫在while循環的內部,條件滿足時break即可。【完整代碼】

第四種:A+B for Input-Output Practice (IV)

【輸入】輸入有多組,並卻題目告訴你每組輸入遇見什麼結束,與第三種不同之處在於,每組輸入都有相應的細化。

【輸出】沒有什麼變化,只需要對應輸出即可。

【代碼】這類題目的代碼是在第三種代碼的基礎之上,對於每種輸入都進行第二種的精確輸入。代碼二者結合即可!【完整代碼】

第五種:A+B for Input-Output Practice (V)

【輸入】這次的輸入實現輸入一個整數,告訴我們有多少行,在輸入每一行。對於每一行的輸入,有劃分爲第一個數和其他的數,第一個數代表那一組數據一共有多少輸入。

【輸出】沒有變化,只需按照提議即可!

【代碼】代碼沒有什麼,只是在第二種代碼的框架上,在進行第二種輸入的細化,對於每組輸入都運行第二種的代碼框架!【完整代碼】

第六種:A+B for Input-Output Practice (VI)

【輸入】有多種輸入數據,對於每組輸入數據的第一個數代表該組數據接下來要輸入數據量。

【輸出】同上!

【代碼】這種類型的代碼,就是再套上第一種代碼的框架上,進行第三種代碼的細化,沒有什麼特殊性。【完整代碼】

第七種:A+B for Input-Output Practice (VII)

【輸入】同第一種一樣

【輸出】這道題的輸出只是簡單的在每組輸出後邊多加一個換行而已!

【代碼】在每組輸出的後邊多加一個換行符’\n’【完整代碼】

第八種:A+B for Input-Output Practice (VIII)

【輸入】類似於第三種

【輸出】這種類型的輸出注意的就是換行,這類題目說在輸出樣例中,每組樣例之間有什麼什麼,所以我們在對應輸出的同時要判斷一下是否是最後一組輸出,如果不是,就 將題目所說的東西輸出(一般是換行或空格),如果是,就直接結束。

【代碼】沒有什麼說的,你在判斷是否結束不方便的時候可以判斷是否開始,類似於判斷結束的代碼。如用for輸入,一般判斷結束,如用while輸入一般判斷初始。【完整代碼】

【綜上所述】

根據上邊介紹的八種輸入輸出,我們可以歸納出如下內容:對於輸入,如果沒有告訴你有多少組,我們常用while。如果告訴你有多少組,我們用for。對於輸出,輸入用while,我們常常判斷是否爲第一個輸出樣例,來指定特殊的輸出格式。輸入用for,我們常常判斷是否爲最後的輸出樣例,來指定特殊的輸出格式。

當然輸入輸出的格式遠遠不止上邊的八種,但它們卻是最常見的,特別是前三種是一定要掌握的。
轉自:http://iiacm.net/2010/07/acm%E6%96%B0%E6%89%8B%E4%B9%8B%E5%A4%A7%E7%A7%8D%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%A0%BC%E5%BC%8F/
發佈了21 篇原創文章 · 獲贊 1 · 訪問量 1038
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章