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

2021-08-25 07:34:12 字數 2062 閱讀 7093

在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,我們常常判斷是否為最後的輸出樣例,來指定特殊的輸出格式。

當然輸入輸出的格式遠遠不止上邊的八種,但它們卻是最常見的,特別是前三種是一定要掌握的。

**:

ACM新手之八大輸入輸出格式

在 acm題庫中,不管是檔案輸出 輸入 還是標準輸出 輸入 都有著一定的格式,下面我就以杭電1089 1096為例子,簡單的介紹一下。第一種 a b for input output practice i 輸入 有多組輸入資料,但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。輸出 有...

ACM之八大輸入輸出格式

第一種 a b for input output practice i 輸入 有多組輸入資料,但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。輸出 有多組輸出,對應著每組輸入,每組輸出佔一行。對於上述常見的情況,我們可以用下面的 來解決。沒有告訴我們有多少組,我們只需要等待即可 wh...

精華 ACM八大輸入輸出格式之Python版

感謝細胞學長提供的幫助,此處應有傳送門 說吧,記憶 部落格頻道 csdn.net 根據杭電的那篇教程寫的,現在部落格裡面再存一篇 encoding utf 8 created on nov 6th,2014 author speedcell python的輸入是野生字串,所以要自己轉型別 strip...