免費開始練習
地特四等申論題 111年 [資訊處理] 程式設計概要

第 三 題

針對以下 C 程式,其輸出為下列表格,說明 compress 函式的功能,並完 成程式碼(I)、(II)、(III)、(IV),使之執行正確。(25 分) 程式輸出 2 4 6 5 2 4 6 6 5 4 1 4 8 3 5 4 6 #include #define SIZE 10 int op(int data[][SIZE], int x, int y, int n) { int value = 0; for (int i = x; i < x+n; i++) for (int j = y; j < y+n; j++) value = value + data[i][j]; return value/(n*n); } void print(int target[][SIZE], int size) { for (int x = 0; x < size; x++) { for (int y = 0; y < size; y++) printf("%d ", target[x][y]); printf("\n"); } } void compress(int data[][SIZE], int (I) [][SIZE], int size, int n) { int cSize = (II) ; for (int x=0; x< cSize; x++) for (int y=0; y
📝 此題為申論題

思路引導 VIP

本題主要測驗陣列操作與函式呼叫的理解。解題時請先從 main 函式的呼叫與程式輸出結果反推,觀察 compressop 的數學關係,即可得知這是在實作「二維陣列的區塊平均(Average Pooling)」。接著透過變數名稱與上下文(如宣告、迴圈索引),就能精準填出對應的語法與變數。

🤖
AI 詳解 AI 專屬家教

【破題】 本題測驗二維陣列的參數傳遞、迴圈控制以及模組化函式呼叫。透過分析 op 函式的邏輯與 main 中的呼叫,可知這是一個實作「矩陣區塊平均壓縮(Average Pooling)」的程式。 【論述】

▼ 還有更多解析內容

升級 VIP 解鎖