[C/C++ 演算法]- 奇數魔方陣
[C/C++ 演算法]- 奇數魔方陣
剛才找資料時發現一個C/C++的教學網站,趕快發揮(C/P)的長才將它備份來,有需要的同好,歡迎來(C/P)一下^^。
拷貝來源:
http://openhome.cc/Gossip/AlgorithmGossip/
http://openhome.cc/Gossip/AlgorithmGossip/OddArray.htm
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main(void) {
int square[N+1][N+1] = {0};
int i = 0;
int j = (N+1) / 2;
int key;
for(key = 1; key <= N*N; key++) {
if((key % N) == 1)
i++;
else {
i--;
j++;
}
if(i == 0)
i = N;
if(j > N)
j = 1;
square[i][j] = key;
}
int m, n;
for(m = 1; m <= N; m++) {
for(n = 1; n <= N; n++)
printf("%2d ", square[m][n]);
}
return 0;
}
|