只是方向不同.改改就行了.
呵呵,反正无聊,随便写个:
#include<stdio.h>
#define sum(x) ((x)*((x)+1)/2)
#define det(n,i,j) (i+j<n+2?0:(sum(i+j-n-1)+sum(i+j-n-2)))
#define num(n,i,j) ((i+j)&1?(sum(i+j-2)+i-det(n,i,j)):(sum(i+j-2)+j-det(n,i,j)))main(){
int i,j,n;
while(scanf(\"%d\",&n)!=EOF&&n>0){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++) printf(\"%5d\",num(n,i,j));
printf(\"\n\");
}
}
return 0;
}
都佩服死了,死了都佩服!!!!!!!!!!
我以前也写过但很长,版主能不能说说你的分析方法,严重期待。