标签:
Description
如3*3:
回字阵:
7 6 5
8 1 4
9 2 3
Input
每一行一个正整数n(n为奇数,<26),代表n*n矩阵。
Output
Sample Input
Sample Output
Source
1 #include<iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main() 6 { 7 int n; 8 while(cin>>n) 9 { 10 int a[n][n]; 11 for(int i=0;i<n;i++) 12 for(int j=0;j<n;j++) 13 a[i][j]=0; 14 15 for(int i=0;i<n;i++)//对角线初始化 16 a[i][i]=(n-i*2)*(n-i*2)-(n-i*2-1); 17 18 for(int i=0;i<n;i++)//根据对角线填入数字(左上部分) 19 { 20 for(int j=1+i;j<n-i-1;j++)//上边部分 21 a[i][j]=a[i][j-1]-1; 22 for(int j=1+i;j<n-i;j++)//左边部分 23 a[j][i]=a[j-1][i]+1; 24 } 25 26 for(int i=n-1;i>=0;i--)//根据对角线填入数字(右下部分) 27 { 28 for(int j=n-(n-i+1);j>=n-1-i;j--)//右边部分 29 a[j][i]=a[j+1][i]+1; 30 for(int j=n-(n-i+1);j>=n-i;j--)//下边部分 31 a[i][j]=a[i][j+1]-1; 32 } 33 34 for(int i=0;i<n;i++) 35 { 36 for(int j=0;j<n;j++) 37 { 38 printf("%4d",a[i][j]); 39 } 40 cout<<endl; 41 } 42 } 43 return 0; 44 }
标签:
原文地址:http://www.cnblogs.com/wixy/p/5492448.html