| 发表于:2007-05-10 16:46:112楼 得分:0 |
哦... 我以前写 只是相反啊 #include <iostream.h> int a[10][10]; void fun(int n) { int m=1; for(int i=0;i <n/2;i++) { //éïãæ for(int j=0;j <n-i;j++) { if(a[i][j]==0) a[i][j]=m++; } //óò±ß for(j=i+1;j <n-i;j++) { if(a[j][n-1-i]==0) a[j][n-1-i]=m++; } //ïâãæ for(j=n-i-1;j> i;j--) { if(a[n-i-1][j]==0) a[n-i-1][j]=m++; } //×ó±ß for(j=n-i-1;j> i;j--) { if(a[j][i]==0) a[j][i]=m++; } } if(n%2==1) a[n/2][n/2]=m; } void main(void) { int n; cin> > n; for(int i=0;i <n;i++) { for(int j=0;j <n;j++) a[i][j]=0; } fun(n); for(i=0;i <n;i++) { for(int j=0;j <n;j++) { cout < <a[i][j] < < " "; } cout < <endl; } } | | |
|