文章目录[隐藏]
易语言采用多重循环实现 求n阶螺旋矩阵问题。矩阵元素按照从1到n螺旋递增。
例如:
01,02,03,
08,09,04,
07,06,05,
求n阶螺旋矩阵源码
窗口放置一个范围编辑框,一个显示编辑框。
.版本 2 .子程序 _计算图形按钮_被单击 结果字符串 = “” 结果编辑框.内容 = “” 轮换阶数 = 到数值 (范围数编辑框.内容) .如果 (轮换阶数 ≥ 100 或 轮换阶数 ≤ 0) 信息框 (“阶数超出范围!”, 0, ) .否则 重定义数组 (结果组数, 假, 轮换阶数 + 1, 轮换阶数 + 1) .变量循环首 (1, 轮换阶数 + 1, 1, 一级标甲) .变量循环首 (1, 轮换阶数 + 1, 1, 一级标乙) 结果组数 [一级标甲] [一级标乙] = 0 .变量循环尾 () .变量循环尾 () ' 临时数初始值为1 临时数 = 1 ' 各个级标初始值为零 连续赋值 (0, 一级标甲, 一级标乙, 二级标甲, 二级标乙, 三级标甲, 三级标乙) ' 如果临时值小于轮换阶数平方 .判断循环首 (临时数 ≤ 轮换阶数 × 轮换阶数) 一级标乙 = 二级标乙 .判断循环首 (一级标乙 < 轮换阶数 - 二级标乙 且 临时数 ≤ 轮换阶数 × 轮换阶数) 结果组数 [一级标甲 + 1] [一级标乙 + 1] = 临时数 ' 临时数自增 临时数 = 临时数 + 1 ' 一级标乙自增 一级标乙 = 一级标乙 + 1 .判断循环尾 () 二级标乙 = 二级标乙 + 1 一级标乙 = 一级标乙 - 1 .变量循环首 (二级标甲 + 1, 轮换阶数 - 二级标甲 - 1, 1, 一级标甲) 结果组数 [一级标甲 + 1] [一级标乙 + 1] = 临时数 ' 临时数自增 临时数 = 临时数 + 1 .变量循环尾 () 二级标甲 = 二级标甲 + 1 一级标甲 = 一级标甲 - 1 一级标乙 = 一级标乙 - 1 .判断循环首 (一级标乙 ≥ 三级标乙 且 临时数 ≤ 轮换阶数 × 轮换阶数) 结果组数 [一级标甲 + 1] [一级标乙 + 1] = 临时数 ' 临时数自增 临时数 = 临时数 + 1 一级标乙 = 一级标乙 - 1 .判断循环尾 () ' 三级标乙 自增 三级标乙 = 三级标乙 + 1 ' 一级标乙 自增 一级标乙 = 一级标乙 + 1 .变量循环首 (一级标甲 - 1, 三级标甲 + 1, -1, 一级标甲) 结果组数 [一级标甲 + 1] [一级标乙 + 1] = 临时数 ' 临时数自增 临时数 = 临时数 + 1 .变量循环尾 () ' 三级标甲 自增 三级标甲 = 三级标甲 + 1 ' 一级标甲 自增 一级标甲 = 一级标甲 + 1 .判断循环尾 () .变量循环首 (0, 轮换阶数 - 1, 1, 一级标甲) .变量循环首 (0, 轮换阶数 - 1, 1, 一级标乙) ' 循环求解果 结果字符串 = 结果字符串 + 选择 (结果组数 [一级标甲 + 1] [一级标乙 + 1] < 10, “0” + 到文本 (结果组数 [一级标甲 + 1] [一级标乙 + 1]), 到文本 (结果组数 [一级标甲 + 1] [一级标乙 + 1])) + “,” .变量循环尾 () 结果字符串 = 结果字符串 + #换行符 .变量循环尾 () 结果编辑框.内容 = 结果字符串 .如果结束