小霸王88的ChinaUnix博客
小霸王88
全部博文(321)
Makefie(2)
CFE(2)
mini2440(5)
TQ210(0)
TQ210(1)
mini2440(13)
TS流(10)
自动售货机(2)
百度手环(3)
DPMR(1)
集群技术(0)
AES(1)
RSA(0)
SHA(1)
MD5(0)
2017年(1)
2016年(10)
2015年(61)
2014年(187)
2013年(62)
Jxiang
victure8
upon_88
hg1995
瀚海书香
dyli2000
tekkaman
andyhzw
jeson201
chen4546
xiaopaox
sunpower
chz07088
草根老师
东汉魏国
lukeyzha
fanrwx
分类: C/C++
2014-06-24 09:37:09
原文地址:C语言实例20:二維數組 作者:hnrainll
/****************** 打印出一個魔方陣,所謂魔方陣提的是每一行,每一行以及對角線之和均相等。 ******************/ #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; }
上一篇:machine id不匹配
下一篇:C语言实例21:字符数组
登录 注册