2 10黑盒測試 常見輸入輸出方式

2021-10-04 18:13:04 字數 2110 閱讀 9469

單點測試:一組通過就有分數,最後看分數之和。

多點測試:全部資料通過才算通過。

1.常用的輸入方式:(1

)while..

.eof型

如果題目沒有給定輸入的結束條件,那麼就預設讀取到檔案末尾。

對黑盒測試來說,所有輸入資料都是放在乙個檔案裡的,

系統會讓程式去讀取這個檔案裡的輸入資料,然後執行

程式並輸出結果。那麼如果題目沒有指定何時結束輸入,一般都是指輸入完所有資料(即到

達檔案末尾)為止。

scanf函式的返回值為其成功讀入的引數的個數。

什麼時候會讀入失敗?讀入失敗時scanf函式是否返回0

?正常的控制台(螢幕黑框框)中的輸入1般是不會失敗的,只有在讀

取檔案時到達檔案末尾導致的無法讀取現象,才會產生讀入失敗。這個時候,scanf函式會返

回-1而不是0,且c語言中使用eof

(即end offile) 來代表1。

while

(scanf

("%d"

,&n)

!=eof

)含義是:只要scanf的返回值不為eof

(即檔案中的資料沒有讀完),就反覆

讀入n,執行while函式體的內容;當讀入失敗(到達檔案末尾)時,結束while迴圈。

可以按組合鍵,這時就會顯示一乙個^z,按鍵就可以結束while了。

還需要指出,如果讀入字串,則有sanf"%s"

, str)與gets

(str)兩種方式可用,其對應的

輸入寫法如下所示:

.while

(scanf (

"&s"

, str)

!=eof

)while

(gets

(str)

!=null

)

(2)

while..

.break型

題目要求當輸入的資料滿足某個條件時停止輸入。

#include

int main (

)return0;

}簡潔寫法:

#include

int main (

)return0;

}

(3)

while

(t--

)型在這種型別中,題目會給出測試資料的組數,然後才給出相應數量組數的輸入資料。

int t;

scanf (

"%d",&t)

;while

(t--

)

2.常見的輸出方式(1

)正常輸出

這種輸出型別要求需要每兩組輸出資料中間沒有額外的空行,即輸出資料是連續的多行。(2

)每組資料輸出之後都額外加乙個空行

這個要求非常容易實現,只需要在每組輸出結束之後額外輸出乙個換行符\n即可。(3

)兩組輸出資料之間有乙個空行,最後一組資料後面沒有空行

這一般是在第三種輸入型別whil

(t)的情況下,只需要通過判斷t是否已經減小到0來:

判斷是否應當輸出額外的換行。

int t, n, a;

scanf (

"%d"

,&t)

;while

(t--

) printf (

"&d\n"

, sum);if

(t>0)

printf

("\n");

(4)類似的要求是:輸出一行n個整數,每兩個整數之間用空格隔開,最後乙個

整數後面沒有不允許加上空格。

for(

int i =

0; i)最後需要指出,在多點測試中,每一次迴圈都要重置一下變數和陣列,

否則在下一組資料來臨的時候變數和陣列的狀態就不是初始狀態了。

例如上面codeup 1007的**中,sum =

0的語句就必須放在while之內,

如果放在while之外,則第二組資料來臨時sum就不是0了。

而重置陣列一般使用memset函式或fill函式。

輸入輸出系統1 特性 輸出輸出方式

io系統相對於處理機是非同步工作的 外設通常只要開始和結束時需要處理機干預 解決方法 自治控制 即將處理機和外設功能剝離 對於不同外設需要完成的功能不同,處理機需要對不同速度,不同傳輸方式 乙個字元,多個字元 的外設進行多種相應。如果錯過服務時間,則可能丟失資料 因此需要多種方式響應。解決方法 將裝...

c語言 基本輸入輸出方式

題目是很簡單的 a b 的和 1.一組輸入一組輸出 include intmain 2.多組輸入多組輸出 include intmain return0 3.指定資料量 有時會在資料的第一行要求提供資料量大小,要求輸入n,則表示有n組資料。include intmain return0 4.以特定元...

ACM中常用的輸入輸出方式

不論是在acm icpc這樣型別的比賽中,還是在做專案中,對於輸入輸出的格式尤為重要,不可以想當然的按自己那一套走,我們需要根據題目要求進行操作,對於第一次接觸這方面比賽的小白,最為常見的現象便是類似於下面這行 1 printf 請輸入一組資料 2 cout 倘若題目沒有要求你,千萬不要有多餘的輸出...