T1:填幻方
这道题目非常水,直接按照题目里说的做就行了
其实机智的你们可以直接跳过题面直接开始做
1 #include <cstdio> 2 #include <cstring> 3 int a[100][100]; 4 int main() 5 { 6 int n; 7 memset(a,0,sizeof(a)); 8 scanf("%d",&n); 9 int num=1; 10 int i,j; 11 i=1; j=n/2+1; 12 a[i][j]=1; 13 while (num<=n*n) 14 { 15 num++; 16 i--; j++; 17 if (i<1 && j<=n) 18 { 19 i=n; 20 } 21 else if (i<1 && j>n) 22 { 23 i++; i++; j--; 24 } 25 else if (j>n) 26 { 27 j=1; 28 } 29 else if (a[i][j]!=0) 30 { 31 i++; 32 j--; 33 i++; 34 } 35 a[i][j]=num; 36 /*for (int i=1; i<=n; i++) 37 { 38 for (int j=1; j<=n; j++) 39 printf("%d ",a[i][j]); 40 printf("\n"); 41 }*/ 42 } 43 for (i=1;i<=n; i++) 44 { 45 for (j=1; j<=n-1; j++) 46 printf("%d ",a[i][j]); 47 printf("%d\n",a[i][n]); 48 } 49 }