順轉數組

#include<stdio.h>
int main(void){
    int n,i,j;
    int a[100][100],count;
    while(scanf("%d",&n)!=EOF){
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                a[i][j]=0;
            }
        }
        count=1;i=0;j=0;
        while(count<=n*n){
            while((j<n)&&(a[i][j]==0)){
                    a[i][j++]=count++;}
            j--;i++;
            while((i<n)&&(a[i][j]==0)){
                a[i++][j]=count++;}
            i--;j--;
            while((j>=0)&&(a[i][j]==0)){
                a[i][j--]=count++;}
            i--;j++;
            while((i>=0)&&(a[i][j]==0)){
                    a[i--][j]=count++;
            }
            i++;j++;
        }
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                printf("%3d",a[i][j]);
            }
            printf("\n");
        }
    }
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章