文章

9

粉丝

0

获赞

55

访问

1.3k

头像
旋转方阵 题解:C语言题解

#include<stdio.h>

int arr[25][25]={0};

int main()

{

    int n;

    scanf("%d",&n);

    int x=1;

    for(int k=0;k<n/2;k++)//若变成等于不用后续特殊处理了

    {

        for(int i=k,j=k;i<n-k;i++)

          arr[i][j]=x++;//向下

        for(int i=n-k-1,j=k+1;j<n-k;j++)

          arr[i][j]=x++;//向右

        for(int i=n-k-2,j=n-k-1;i>=k;i--)

          arr[i][j]=x++;//向上

        for(int i=k,j=n-k-2;j>k;j--)

          arr[i][j]=x++;//向左

    }

    if(n%2!=0)

    arr[n/2][n/2]=x;//处理不能完全旋转赋值是情况(也可将处理循环变成等于号)

    for(int i=0;i<n;i++){

        for(int j=0;j<n;j++)

        {

      &nbs...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发