在
acm題庫中,不管是檔案輸出(輸入)還是標準輸出(輸入),都有著一定的格式,下面我就以杭電1089——1096為例子,簡單的介紹一下。
第一種:a+b for input-output practice (i)
【輸入】有多組輸入資料,但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。
【輸出】有多組輸出,對應著每組輸入,每組輸出佔一行。
【**】對於上述常見的情況,我們可以用下面的**來解決。
沒有告訴我們有多少組,我們只需要等待即可:
while【完整** 】(scanf
(「%d
」,&n)!=
eof)
#include相對應輸入,輸出只需要在while中輸出。intmain
()return0;
}
第二種:a+b for input-output practice (ii)
【輸入】先輸入乙個整數,告訴我們接下來有多少組資料,然後在輸入每組資料的具體值。
【輸出】有多組輸出,對應著每組輸入,每組輸出佔一行。
【**】這也是一種常見的輸入形式,簡單的**,我們可以先用scanf函式輸入第乙個整數來確定有多少行,然後在用for迴圈一組一組的輸入。
【完整**】
#include第三種:a+b for input-output practice (iii)【輸入】有多組輸入資料,沒有具體的告訴你有多少組,但是題目卻告訴你遇見什麼結束。intmain
()return0;
}
【輸出】有多組輸出,沒對應一組輸入都有相應的輸出,結束標記不用管!
【**】這種型別的題目和第一種差不多,但是有一點值得注意,就是要加上結束條件。對於這道題我們可以這樣
while當然你也可以將條件寫在while迴圈的內部,條件滿足時break即可。(scanf
(「%d%d
」,&a,
&b)&&
(!(a==0
&&b==0
)))
【完整**】
#include第四種:a+b for input-output practice (iv)【輸入】輸入有多組,並且題目告訴你每組輸入遇見什麼結束,與第三種不同之處在於,每組輸入都有相應的細化。intmain
()return0;
}
【輸出】沒有什麼變化,只需要對應輸出即可。
【**】這類題目的**是在第三種**的基礎之上,對於每種輸入都進行第二種的精確輸入。**二者結合即可!
【完整**】
#include第五種:a+b for input-output practice (v)【輸入】這次的輸入實現輸入乙個整數,告訴我們有多少行,在輸入每一行。對於每一行的輸入,有劃分為第乙個數和其他的數,第乙個數代表那一組資料一共有多少輸入。intmain
()printf
("%d\n",s
);}return0;
}
【輸出】沒有變化,只需按照提議即可!
【**】**沒有什麼,只是在第二種**的框架上,在進行第二種輸入的細化,對於每組輸入都執行第二種的**框架!
【完整**】
#include第六種:a+b for input-output practice (vi)【輸入】有多種輸入資料,對於每組輸入資料的第乙個數代表該組資料接下來要輸入資料量。 【輸出】同上!intmain
()printf
("%d\n",s
);}return0;
}
【**】這種型別的**,就是再套上第一種**的框架上,進行第三種**的細化,沒有什麼特殊性。
【完整**】
#include第七種:a+b for input-output practice (vii)【輸入】同第一種一樣intmain
()printf
("%d\n",s
);}return0;
}
【輸出】這道題的輸出只是簡單的在每組輸出後邊多加乙個換行而已!
【**】在每組輸出的後邊多加乙個換行符』\n』
【完整**】
#include第八種:a+b for input-output practice (viii)【輸入】類似於第三種main()}
【輸出】這種型別的輸出注意的就是換行,這類題目說在輸出樣例中,每組樣例之間有什麼什麼,所以我們在對應輸出的同時要判斷一下是否是最後一組輸出,如果不是,就 將題目所說的東西輸出(一般是換行或空格),如果是,就直接結束。
【**】沒有什麼說的,你在判斷是否結束不方便的時候可以判斷是否開始,類似於判斷結束的**。如用for輸入,一般判斷結束,如用while輸入一般判斷初始。
【完整**】
#include【綜上所述】intmain
()if(a
!=0)printf
("%d\n\n",d
);else
printf
("%d\n",d
);}}return0;
根據上邊介紹的八種輸入輸出,我們可以歸納出如下內容:
對於輸入,如果沒有告訴你有多少組,我們常用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...