藍橋杯 方陣旋轉

2021-08-17 05:25:32 字數 821 閱讀 2695

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 30  

解決: 12 [

提交][

狀態]對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號。 但,如果是對該方陣順時針旋轉(不是轉置)。

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

void rotate(int* x, int rank) {

int* y = (int*)malloc(___________________);  // 填空

for(int i=0; i

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

13 9 5 1

14 10 6 2

15 11 7 3

16 12 8 4

ac**:

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

{ int* y = (int*)malloc(rank * rank * sizeof(int));

for(int i=0; i

題意概括: 將乙個方陣順時針旋轉90度

經驗總結:

1. 當一些數出現迴圈遞增,比如說:3  7  11  15  2  6  10  14  1  5  9  13  0  4  8  12。 這些書每四個為一組進行遞增,此時需要考慮用到取模運算。

2. 而且因為這些數是存在同乙個陣列裡的, 所以以每四個數為乙個小組,每一組所加的數要比前面一組少乙個1。所以又要用到除以4的情況。

方陣旋轉 藍橋杯

這是2012年藍橋杯全國軟體大賽預賽 c 本科組 第5題,問題是矩陣的旋轉。對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號 例如,如下的方陣 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 ...

藍橋杯 轉方陣

對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號 例如,如下的方陣 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 但,如果是對該方陣順時針旋轉 不是轉置 卻是如下結果 1...

藍橋杯 轉方陣

對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號 例如,如下的方陣 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 但,如果是對該方陣順時針旋轉 不是轉置 卻是如下結果 1...