当前位置:网站首页>Output a spiral matrix C language

Output a spiral matrix C language

2022-07-07 08:52:00 Please Sit Down

  Clockwise :

int main(){
    int a[10][10],i,j,k=0,m,n;
    printf("Enter n(n<10):");
    scanf("%d",&n);
    if(n%2==0) m=m/2;
    else m=m/2+1;
    
    for(i=0;i<m;i++){
       for(j=i;j<n-i;j++){
           k++; a[i][j]=k;
       }
       for(j=i+1;j<n-i;j++){
           k++; a[j][n-i-1]=k;
       }
       for(j=n-i-2;j>=i;j--){
           k++; a[n-i-1][j]=k;
       }
       for(j=n-i-2;j>=i+1;j--){
           k++; a[j][i]=k;
       }
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
           printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

 

Anti-clockwise :

int main(){
    int a[10][10],i,j,k=0,m,n;
    printf("Enter n(n<10):");
    scanf("%d",&n);
    if(n%2==0) m=m/2;
    else m=m/2+1;
    
    for(i=0;i<m;i++){
       for(j=i;j<n-i;j++){
           k++; a[j][i]=k;
       }
       for(j=i+1;j<n-i;j++){
           k++; a[n-i-1][j]=k;
       }
       for(j=n-i-2;j>=i;j--){
           k++; a[j][n-i-1]=k;
       }
       for(j=n-i-2;j>=i+1;j--){
           k++; a[i][j]=k;
       }
    }

    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
           printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

 

 

原网站

版权声明
本文为[Please Sit Down]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130629582270.html