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

给定一个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日

悬赏问题

  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法