#include <iostream> #include <iomanip> using namespace std; int main() { int i=0,j=0,a=1,u,n; int lx[100][100]; cout<<"请输入方阵的行列数:"; cin>>n; for(u=0;u<n/2;u++) { for(j=u;j<n-u;j++) { lx[i][j]=a; a++; } j=j-1; for(i=u+1;i<n-u;i++) { lx[i][j]=a; a++; } i=i-1; for(j=n-u-2;j>=u;j--) { lx[i][j]=a; a++; } j=j+1; if(a==n*n+1) break; for(i=n-u-2;i>=u+1;i--) { lx[i][j]=a; a++; } i=i+1; } if(a==n*n) lx[i][j+1]=a; for(i=0;i<n;i++) { if(i>0) cout<<endl; for(j=0;j<n;j++) cout<<setw(3)<<lx[i][j]; } cout<<endl; return 0; }
一个圈数的循环,还有上下左右的循环!
5、打印如下方阵(任选一题)。 (1) 螺旋方阵: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 (2) 蛇形方阵: 1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16
有空做另外一题!