程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 語言-關於4階魔陣的寫法,即16宮格

語言-關於4階魔陣的寫法,即16宮格

編輯:編程綜合問答
關於4階魔陣的寫法,即16宮格

16宮格的做法是,1到16依次寫進4階方陣中,然後將位置(1,1)與位置(4,4)上的對換,(2,2)與(3,3)上的對換。再將(1,4)與(4,1)對換,(2,3)與(3,2)對換。
基於這種思想我給出了一個程序,但是好像沒有輸出正確的結果。
#include

int main() {
int A[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j;
for (i = 0; i < 2; i++) {
*(&A[0][0] + i * 4 + (i - 1)) = *(&A[0][0] + (4 - i) * 4 + (4 - i));//斜率為-1的對角線上數,(1,1)位子與(4,4)位子互換,(2,2)與(3,3)互換
*(&A[0][0] + i * 4 + (4 - i)) = *(&A[0][0] + (4 - i) * 4 + i);//斜率為1的對角線上的數,(1,4)與(4,1)互換,(2,3)與(3,2)互換,其他不變
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++)
printf("%3d ", *(&A[0][0] + i * 4 + j));
printf("\n");
}
return 0;
}

最佳回答:


http://www.douban.com/group/topic/28700682/
http://blog.csdn.net/cmutoo/article/details/5487157

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved