Leo Linuxhnrainll.blog.chinaunix.net
hnrainll
全部博文(354)
2010年(300)
2009年(54)
大鬼不动
叶绍琛
路沐堇
HoariNes
快乐的猪
6551130
zjt_pond
K__奕__
cynthia
格伯纳
Bsolar
葫芦娃的
分类: C/C++
2010-06-21 07:41:15
/****************** 打印出一個魔方陣,所謂魔方陣提的是每一行,每一行以及對角線之和均相等。 ******************/ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int array[16][16]; int i, j, k, m, n; m = 1; while(m == 1) { printf("請輸入n(0 < n <15,n是奇數)\n"); scanf("%d",&n); if(n != 0 && (n <= 15) && (n%2 != 0)) { printf("矩陣階數是: %d\n",n); m = 0; } } for(i = 1; i <= n; i++) for(j = 1; j <= n; j++) array[i][j] = 0; j = n/2 + 1; array[1][j] = 1; for(k = 2; k <= n*n; k++) { i = i - 1; j = j + 1; if((i < 1) && (j > n)) { i = i + 2; j = j - 1; } else{ if(i < 1) i = n; if(j > n) j = 1; } if(array[i][j] == 0) array[i][j] = k; else{ i = i + 2; j = j - 1; array[i][j] = k; } } for(i = 1; i <= n; i++) { for(j = 1; j <= n; j++) printf("%5d",array[i][j]); printf("\n"); } system("pause"); return 0; }
上一篇:C语言实例19:數組
下一篇:C语言实例21:字符数组
登录 注册