Songdengdeng~ 2021-09-03 23:51 采纳率: 87.5%
浏览 33
已结题

来回答点关注😊。下边这个问题对小bai的我究极难度,求解

img

img


题目如上边那副图,我的思考为下图,想将框框里边打造成为一个函数,但是这个函数里边得输出a[i]
呀,emmm,不会啦。又菜又爱玩罢了~
求解求解
或者是针对蛇形的其他方法,提供一点点思路即可,感谢感谢

  • 写回答

1条回答 默认 最新

  • aabyte 2021-09-04 02:56
    关注

    解决方案如下,思路写在注释里了,有帮助望采纳,谢谢!

    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
        int n = 0, i = 0, j = 0;
        scanf("%d", &n); //输入行列数
        //动态申请n行n列的二维数组,如果觉得麻烦根据题目要求申请足够大的也行
        int** num = (int**)malloc(sizeof(int*) * n);
        for (i = 0; i < n; i++)
            num[i] = (int*)malloc(sizeof(int) * n);
        //我们接下来的思路就是一圈一圈往中心填数字,数字是逐渐递增的,用count来表示,初始值为1,结束时为n*n
        int start = 0, finish = n - 1, count = 1; //start指当前行列最小值,finish指当前行列最大值
    
        while (count <= n * n)
        {
            //找到题目里1开始的位置,我们开始,根据count增加的方向走
            //每一圈的规律都是一样的,结束的标志就是count达到了指定的大小
            for (i = start; i <= finish; i++) //从上到下,行增列不变
                num[i][finish] = count++;
            for (j = finish - 1; j >= start; j--) //从右往左,列减行不变
                num[finish][j] = count++;
            for (i = finish - 1; i >= start + 1; i--) //从下向上,行减列不变
                num[i][start] = count++;
            for (j = start; j <= finish - 1; j++) //从左向右,列增行不变
                num[start][j] = count++;
            start++; finish--; //缩圈,行列的最小值加1,最大值减1
        }
        for (i = 0; i < n; i++) //输出
        {
            for (j = 0; j < n; j++)
                printf("%-5d", num[i][j]);
            printf("\n");
        }
    
        //最后记得释放掉申请的内存
        for (i = 0; i < n; i++)
            free(num[i]);
        free(num);
        return 0;
    }
    

    img

    img

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月4日
  • 已采纳回答 9月4日
  • 创建了问题 9月3日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题