方陣順時(shí)針旋轉(zhuǎn)在我們編程中也是比較常用的一個(gè)技能,那么你知道怎么實(shí)現(xiàn)方陣順時(shí)針旋轉(zhuǎn)嗎?接下來就讓武林小編為大家介紹實(shí)現(xiàn)方陣順時(shí)針旋轉(zhuǎn)的代碼。
例如,如下的方陣:
?1? 2? 3? 4
?5? 6? 7? 8
?9 10 11 12
13 14 15 16
順時(shí)針旋轉(zhuǎn),卻是如下結(jié)果:
13? 9? 5? 1
14 10? 6? 2
15 11? 7? 3
16 12? 8? 4
?
?
?for(int i=0; i<rank * rank; i++)
?{
???????? // 以原第一行進(jìn)行分析? 一行數(shù)變?yōu)橥涣? 以原第一列為例,變?yōu)橥恍小? (i%rank)*rank使列變?yōu)樾?? rank-(i/rank)-1) 使行變?yōu)榱?br>??y[(i%rank)*rank+(rank-(i/rank)-1) ] = 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;
}
以上就是實(shí)現(xiàn)方陣順時(shí)針旋轉(zhuǎn)的代碼,看完后你是否學(xué)會(huì)了呢?學(xué)習(xí)這個(gè)知識(shí)對(duì)我們學(xué)習(xí)和幫助都有一定的幫助哦。
?
新聞熱點(diǎn)
疑難解答
圖片精選