第三屆藍橋杯 轉方陣

2021-08-10 18:36:16 字數 1018 閱讀 6500

題目:轉方陣

對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號

例如,如下的方陣:

1  2  3  4

5  6  7  8

9 10 11 12

13 14 15 16

轉置後變為:

1  5  9 13

2  6 10 14

3  7 11 15

4  8 12 16

但,如果是對該方陣順時針旋轉(不是轉置),卻是如下結果:

13  9  5  1

14 10  6  2

15 11  7  3

16 12  8  4

下面的**實現的功能就是要把乙個方陣順時針旋轉。

void rotate(int* x, int rank)

for(i=0; i

free(y);

}int main(int argc, char* argv)

,,,};

int rank = 4;

rotate(&x[0][0], rank);

for(int i=0; i

printf("\n");

}return 0;

}請分析**邏輯,並推測劃線處的**。

答案寫在 「解答.txt」 檔案中

注意:只寫劃線處應該填的內容,劃線前後的內容不要抄寫。

(本題10分)

答案;

sizeof(int)*rank*rank

rank*(i%rank)+(rank-i/rank-1)

c++**:

#include #include void rotate(int* x, int rank)

{ int* y = (int*)malloc(sizeof(int)*rank*rank); // 填空

for(int i=0; i第三屆藍橋杯部分試題與答案

第三屆藍橋杯複試

第四題 奇怪的比賽 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不...

藍橋杯第三屆題目

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...

第三屆藍橋杯預賽

3 任何乙個自然數m的立方均可寫成m個連續奇數之和。例如 1 3 1 2 3 3 5 3 3 7 9 11 4 3 13 15 17 19 程式設計實現 輸入一自然數n,求組成n 3的n個連續奇數。4 由鍵盤輸入乙個自然數 1 n 9 要求程式在螢幕上輸出如下圖形。時 時 時 注 應保證 在圖形中只...