CCF CSP認證上機考試程式設計指引(Java)

2021-08-04 03:16:47 字數 1267 閱讀 6058

注意事項:

1、提交**時不要新增任何注釋,否則容易造成編譯錯誤。

一、讀取輸入並賦值

輸入的第一行包含了兩個整數n, k,第二行包含n個正整數,如:

6  9

2  6  5  6  3  5

情況一:第二行資料順序訪問,且只使用一次。(無需建立陣列)——真題例項

int n, k, count = 0, temp, sub = 0;    

scanner sc = new scanner(system.in);

n = sc.nextint();

k = sc.nextint();

for (int i = 0; i < n; i++)

情況二:第二行資料可能需要按索引重複訪問。(建立陣列)

int n, minq, count = 0;  

scanner sc = new scanner(system.in);

n = sc.nextint();

minq = sc.nextint();

int im = new int[n];

for (int i = 0; i < im.length; i++)

注意:

若輸入乙個整數n後,再換行輸入n行字串,則sc.nextline()讀入整數,而不應該使用sc.nextint()讀入,否則,在迴圈讀入n行字串時,第1行資料會讀入空串,導致程式邏輯錯誤。因為,nextint()只讀取了數字n卻沒有讀取換行符,下乙個nextline()會讀取換行符並解析為空串。

如果要讀入:

2***xx

******x

則使用**段如下:

scanner sc = new scanner(system.in);

int n = integer.valueof(sc.nextline());

for (int i = 0; i < n; i++)

二、選用合適的資料結構

三、排序——真題例項

int n;

scanner sc = new scanner(system.in);

n = sc.nextint();

// 輸入資料

int a = new int[n];

for (int i = 0; i < n; i++)

arrays.sort(a);// 排序

華為上機考試

有乙個陣列a n 順序存放0 n 1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數 n 7 為例 0,1,2,3,4,5,6,7 0 1 2 刪除 3 4 5 刪除 6 7 0 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...

上機考試指導

首先,這裡預設投遞崗位是需要進行上機程式設計的崗位。一般來說需要候選人,提前一段時間進行刷題訓練,增強相關演算法的熟悉程度。一般來說,對於上機程式設計的考試題目型別相對來說比較固定。我們可以根據開始題目型別進行優先順序劃分,從而以更加合理的方式來分配備考精力。第一優先順序就是 dfs bfs,滑動視...

華為2016上機考試第二題

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...