江海寄余生188 2021-12-14 19:56 采纳率: 100%
浏览 97
已结题

给定一个n,请打印一个n*n纠结矩阵,想象从(1,1)出发,按照如下方式不断走下去)

img

  • 写回答

1条回答 默认 最新

  • 五一编程 2021-12-14 20:09
    关注
    
    #include<stdio.h>
     
    void printMatrix(int n);
     
    int main()
    {
        printMatrix(5);
        system("pause");
        return 0;
    }
     
    void printMatrix(int n){
         if(n < 1)
              return;
         else{
              int i ,j;
              for(i = 1;i <=n;i++){
                    for(j = 1;j <= n;j++){
                          int num;
                          if(j > i){
                               if(j%2)
                                   num = j*j + 1 -i;
                               else
                                   num = (j-1)*(j-1)+i;
                               printf("%d ",num);
                          }else{
                               if(i%2)
                                   num = (i-1)*(i-1)+j;
                               else
                                   num = i*i + 1 - j;
                               printf("%d ",num); 
                          }
                         
                    }
                    printf("\n");
              }
         }     
    }
    

    运行结果为:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日