

1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 int main() 6 { 7 int num; 8 9 int arr[10][10]; 10 for(int i=0; i<10; i++) 11 for(int j=0; j<10; j++) 12 arr[i][j]=-1; 13 while((scanf("%d",&num))!=EOF) 14 { 15 int n=num; 16 int now=1; 17 int col=0; 18 int row=0; 19 while(num>=1) 20 { //cout<<"row: "<<row<<" col: "<<col<<endl; 21 for(int i=0; i<num; i++) 22 { 23 arr[row][col]=now++; 24 col++; 25 } 26 row++; 27 col-=2; 28 //cout<<"row: "<<row<<" col: "<<col<<endl; 29 for(int i=num-1; i>0; i--) 30 { 31 arr[row][col]=now++; 32 row++; 33 col--; 34 } 35 //cout<<"row: "<<row<<" col: "<<col<<endl; 36 row-=2; 37 col++; 38 39 for(int i=num-2; i>0; i--) 40 { 41 arr[row][col]=now++; 42 row--; 43 } 44 45 // cout<<num<<endl; 46 /* for(int i=0; i<num; i++) 47 { 48 for(int j=0; j<num; j++) 49 printf("%5d",arr[i][j]); 50 cout<<endl; 51 }*/ 52 num-=3; 53 // cout<<"row: "<<row<<" col: "<<col<<endl; 54 row++; 55 col++; 56 //cout<<num<<endl; 57 //int a;cin>>a; 58 59 } 60 int c=n; 61 for(int i=0; i<n; i++) 62 { 63 for(int j=0; j<c; j++) 64 printf("%5d",arr[i][j]); 65 cout<<endl; 66 c--; 67 } 68 69 } 70 return 0; 71 }