2012年第三屆藍橋杯C/C++程式設計本科B組省賽 方陣旋轉(程式碼填空)
方陣旋轉
對一個方陣轉置,就是把原來的行號變列號,原來的列號變行號
例如,如下的方陣:
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
下面的程式碼實現的功能就是要把一個方陣順時針旋轉。
對一個方陣轉置,就是把原來的行號變列號,原來的列號變行號
例如,如下的方陣:
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)
{
int* y = (int*)malloc(___________________); // 填空
for(int i=0; i<rank * rank; i++)
{
y[_________________________] = x[i]; // 填空
}
for(i=0; i<rank*rank; i++)
{
x[i] = y[i];
}
free(y);
}
int main(int argc, char* argv[])
{
int x[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int rank = 4;
rotate(&x[0][0], rank);
for(int i=0; i<rank; i++)
{
for(int j=0; j<rank; j++)
{
printf("%4d", x[i][j]);
}
printf("\n");
}
return 0;
}
答案: sizeof(int) * rank * rank
(i % 4) * 4 + 3 - (i / 4)答案: sizeof(int) * rank * rank
(i % 4) * 4 + 3 - (i / 4)相關文章
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 放棋子(程式碼填空)C++程式設計
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 大數乘法(程式碼填空)C++程式設計
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 奇怪的比賽(結果填空)C++程式設計
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 微生物增殖(結果填空)C++程式設計
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 海盜比酒量(結果填空)C++程式設計
- 2012年第三屆藍橋杯C/C++程式設計本科B組省賽 密碼發生器(程式設計大題)C++程式設計密碼
- 第十三屆藍橋杯省賽C/C++ B組C++
- 藍橋杯2014年第五屆決賽C_C++程式設計本科B組C++程式設計
- 歷屆藍橋杯省賽(C、C++)的答案(轉)C++
- 試題B:小球反彈(第十五屆藍橋杯省賽B組c/c++組)C++
- 第六屆藍橋杯省賽CC++B組C++
- 第十四屆藍橋杯省賽C++ B組(個人經歷 + 題解)C++
- 第十屆藍橋杯省賽C++B組 等差數列C++
- 第十五屆藍橋杯C++B組省賽總結C++
- 【藍橋杯考前突擊】第十屆藍橋杯省賽C/C++大學B組 試題 D 數的分解C++
- 第四屆藍橋杯C/C++本科B組第二道大題C++
- 藍橋杯__省賽__第七屆__C/C++__大學A組C++
- 藍橋杯__省賽__第八屆__C/C++__大學A組C++
- 藍橋杯__省賽__第九屆__C/C++__大學A組C++
- 第十五屆藍橋杯大賽軟體賽省賽 C/C++ 大學 A 組C++
- 第十三屆藍橋杯省賽A組
- 第十五屆藍橋杯軟體賽省賽C/C++B 組題解C++
- 2017第八屆藍橋杯C/C++ B組省賽第二題 秒解C++
- 2018年第九屆藍橋杯省賽試題及詳解(Java本科B組)Java
- 2013年第四屆藍橋杯省賽試題及詳解(Java本科C組)Java
- 2015年省賽第六屆藍橋杯B組C/C++第五題解 九陣列分數C++陣列
- 2016年藍橋杯C/C++組省賽第三題--湊算式C++
- 2017省賽藍橋杯B組
- 2016年省賽第七屆藍橋杯B組C/C++第九題解 交換瓶子C++
- 第14屆藍橋杯B組國賽
- 2015年藍橋杯六屆省賽大學B組真題
- 2014年第五屆藍橋杯省賽試題及詳解(Java本科C組)Java
- 2019年省賽第十屆藍橋杯B組C/C++試題H解 等差數列C++
- 2018藍橋杯省賽B組
- 2020藍橋杯省賽B組C++(第二場)真題C++
- 2018年第九屆藍橋杯省賽試題及詳解(Java本科A組)Java
- 第十屆藍橋杯C++國賽B組部分題解(假題解)C++
- 第九屆藍橋杯省賽C++A組 倍數問題(dfs)C++