ACM題目中輸入資料的處理(C 版)

2021-06-14 13:33:55 字數 2792 閱讀 8512

acm題目中輸入資料的處理(c語言版)見:

acm競賽題目的輸入資料常要求有多組,並且格式多種多樣,這是初次登oj平台的同學的乙個障礙。實際上,這些格式可以歸為固定的幾種型別,本文介紹各種型別的處理方法,以幫助同學們克服這些障礙。

實際上,這些模式不僅是oj平台上做題的需要。在平時的自由程式設計練習中,也可以自行使用這些模式,以提高除錯程式的效率。對程式測試的意識也將在此過程中得到提公升。

本文1-4部分介紹了幾種型別輸入的處理,第5部分介紹通過輸入重定向提高除錯程式效率的方法。

1. 最簡單的輸入

例1:

description

計算 a+b

input

兩個整數 a,b

output

a+b的值

sample input

1 2sample output

3

這種最簡單的輸入,接受一組輸入,針對這組輸入計算出值即可。這與平時的程式設計並無差異。解決辦法是:

#include using namespace std;

int main()

2. 一次執行,要輸入多組資料,直到讀至輸入檔案末尾(eof)為止

例2:

description

計算 a + b

input

多組由兩個整數(a和b)構成的輸入,a和b之間用空格隔開,每組輸入單獨佔一行

output

每組的兩個整數(a和b)求和並輸出,每組的求和結果獨佔一行

sample input

1 510 20

400 516

sample output630

916

這種輸入包含多對輸入資料,需要構造乙個迴圈讀取。因為沒有指出到底有多少對輸入,要有辦法判斷輸入何時結束。解決辦法是:

#include using namespace std;

int main()

return 0;

}

說明1:當讀到輸入結束時,cin >> a >> b返回 0,迴圈也結束。

說明2:在除錯程式時,鍵盤輸入的資料,用ctrl-z(即按住ctrl鍵不放,再按下z)組合作為輸入結束,此謂鍵盤輸入裝置的「檔案末尾」。

3. 一次執行,要輸入多組資料,組數由第乙個輸入資料決定(在開始的時候輸入乙個n,接下來是n組資料)

例3:

description

計算 a + b

input

第一行是資料的組數n,從第二行是n組由兩個整數(a和b)構成的輸入,a和b之間用空格隔開,每組輸入單獨佔一行

output

每組的兩個整數(a和b)求和並輸出,每組的求和結果獨佔一行

sample input

21 5

10 20

sample output

630

需要先讀入第一行確定組數n,而後寫一次執行n次的迴圈進行處理即可。解決辦法是:

#include using namespace std;

int main()

return 0;

}

4.  輸入不說明有多少組資料,但以某個特殊輸入為結束標誌。平時做題中常見諸如「輸入學生成績,以-1結束」,沒有學生得-1分的,這個結束資料可以要得。

例4:

description

計算 a + b

input

多組由兩個整數(a和b)構成的輸入,a和b之間用空格隔開,每組輸入單獨佔一行。當輸入為 0 0 時,輸入結束。

output

每組的兩個整數(a和b)求和並輸出,每組的求和結果獨佔一行。

sample input

1 510 20

0 0sample output

630

構造迴圈對資料進行處理,將是否遇到了要求結束的輸入,作為迴圈是否結束的依據。解決辦法是:

#includeusing namespace std;

int main()

{ int a ,b;

while(cin>>a>>b&&(a||b))

{cout<#includeusing namespace std;

int main()

{ freopen("input.txt","r",stdin); //只加這一句輸入將被重定向到檔案input.txt

int a,b;

cin>>a>>b;

cout《除了刪除那一行,還有一種簡單的做法是,提交前將這一行前加上注釋符"//",效果是一樣的。

#include#includeusing namespace std;

int main()

{ //freopen("input.txt","r",stdin); //只加這一句輸入將被重定向到檔案input.txt

int a,b;

cin>>a>>b;

cout<

acm題目中輸入資料的處理(c語言版)見:

******************** 迂者 賀利堅 csdn部落格專欄***************==

|== it學子成長指導專欄

專欄文章分類目錄(不定期更新)    ==|

賀利堅課程教學鏈結(分課程年級)   ==|

*****=== 為it菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 *****==

ACM題目中輸入資料的處理(C 版)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!acm題目中輸入資料的處理 c語言版 見 acm競賽題目的輸入資料常要求有多組,並且格式多種多樣,這是初次登oj平台的同學的乙個障礙。實際上,這些格式可以歸為固定的幾種型別,本文介紹各種型別的處理方法,以幫助同學們克服這些障礙。實際上,這些模式不僅...

ACM題目中輸入資料的處理(C 版)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!acm題目中輸入資料的處理 c語言版 見 acm競賽題目的輸入資料常要求有多組,並且格式多種多樣,這是初次登oj平台的同學的乙個障礙。實際上,這些格式可以歸為固定的幾種型別,本文介紹各種型別的處理方法,以幫助同學們克服這些障礙。實際上,這些模式不僅...

ACM題目中輸入資料的處理(C 版)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!acm題目中輸入資料的處理 c語言版 見 acm競賽題目的輸入資料常要求有多組,並且格式多種多樣,這是初次登oj平台的同學的乙個障礙。實際上,這些格式可以歸為固定的幾種型別,本文介紹各種型別的處理方法,以幫助同學們克服這些障礙。實際上,這些模式不僅...