写一个蛇型数组(蛇形填数)
//写一个蛇型数组
/*
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
*/
//书写思路: 利用二维数组,一圈是四个边,仅需要记录每个边的起始坐标,和终点坐标,就可以用循环分别遍历四条边,进行赋值。
//代码逻辑:
//写一个蛇型数组
/*1 2 3 4 5 620 21 22 23 24 719 32 33 34 25 818 31 36 35 26 917 30 29 28 27 1016 15 14 13 12 11*/
//书写思路: 利用二维数组,一圈是四个边,仅需要记录每个边的起始坐标,和终点坐标,就可以用循环分别遍历四条边,进行赋值。
//代码逻辑:
#include<stdio.h>
#define N 6 //定义一个六行六列的数组
int main()
{int arr[N][N] = {0};//定义一个二维行列式int x1 = 0, y1 = 0;//起点坐标int x2 = 0, y2 = 0;//终点坐标int num = 1;//起始数 1-36 /6*6=36 //一共三圈int n = 0;//表示表示每一圈起始的坐标点 第一圈0,0,第二圈1,1,第三圈2.2//上边设置代码:while (1){x1 = n, y1 = n;//起点坐标0.0x2 = x1, y2 = N - 1 - n;//终点坐标N是数组行数,比如第一行结束;(0,6-1-0)坐标(0,5)//设置上行int i = x1, j = y1;for (j = y1; j <= y2; j++)//注意:表达式3完了后j++为6arr[x1][j] = num++;//i是x1行不变,j向左随着num自增//右边设置代码 6往下为7//起点坐标x1 = n + 1, y1 = j - 1; //也就是坐标(1,6-1)==(1,5)也就是7的坐标x2 = N - 1 - n, y2 = y1;//终点坐标for (i = x1; i <= x2; i++)arr[i][y1] = num++;//保持列不变,让行随num自增//底边//同理 结束时上面有x1=i=6(表达式3中i++已经执行了)x1 = j - 1, y1 = y1 - 1; //运用码的相似性很快写出12的坐标(6-1,5-1)=(5,4)x2 = x1, y2 = n;for (j = y1; j >= y2; j--)arr[x1][j] = num++;//左x1 = x1 - 1, y1 = n;x2 = n + 1, y2 = y1;//规律取决于nfor (i = x1; i >= x2; i--)arr[i][y1] = num++;if (num > N * N) break;//用num<36循环来限制循环n++;}int i, j;for (i = 0; i < N; i++){for (j = 0; j < N; j++)printf(" %3d", arr[i][j]);//设置多次打印putchar('\n');//每一行换行,注意这是一个字符要用''号}return 0;
}
写一个蛇型数组(蛇形填数)相关推荐
- 2020年第十一届蓝桥杯 - 省赛 - C/C++大学生A组 - C.蛇形填数
2020年第十一届蓝桥杯 - 省赛 - C/C++大学生A组 - C.蛇形填数 Ideas 这题其实严格意义上属于一道找规律的题目,并不是啥算法题. 我们可以先按照它的规律多写几行. 1 2 6 7 ...
- 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数
这道题同样还是: 2020年第十一届蓝桥杯 - 省赛 - C/C++研究生组 - D.蛇形填数 2020年第十一届蓝桥杯 - 省赛 - Java研究生组 - D.蛇形填数 Ideas 这题其实严格意义 ...
- 第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
试题 C: 蛇形填数 本题总分:10 分 [问题描述] 如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵. 容易看出矩阵第二行第二列中的数是 5.请你计算矩阵中第 2 ...
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
package demo;import java.util.Arrays;/** 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.*/ //num ...
- 数组-接口2-参数为一个整型数组和数组长度的整数(该数组输入和运算结果),再加一个整数;预期结果是一个整型数组
测试接口的代码说明 适用接口:参数为一个整型数组和数组长度的整数(该数组输入和运算结果),再加一个整数:预期结果是一个整型数组 测试接口的具体代码如下: 注意红色字体,用后续小节中的接口进行替换,进行 ...
- 信息学奥赛一本通 2045:【例5.13】蛇形填数
[题目链接] ybt 2045:[例5.13]蛇形填数 [题目考点] 1. 二维数组 2. 方向数组(可能用到) int dir[4][2] = {{1,0},{0,-1},{-1,0},{0,1}} ...
- 信息学奥赛一本通(2045:【例5.13】蛇形填数)
2045:[例5.13]蛇形填数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 374 通过数: 191 [题目描述] 在n×nn×n方阵里填入1,2,3 ...
- 蓝桥杯真题——蛇形填数(c语言)
目录 一.题目描述 二.解题思路 三.程序操作 一.题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 如下图所示,小明用从 1 开始的正整数"蛇形" ...
- 第十一届蓝桥杯大赛省赛真题-填空题-蛇形填数(Java实现)
试题 C: 蛇形填数 本题总分:10 分 [问题描述] 如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵. 容易看出矩阵第二行第二列中的数是 5.请你计算矩阵中第 2 ...
最新文章
- 前端、云与人工智能的碰撞 | GDG广州
- 机器学习和深度学习学习资料
- 为什么苹果6没有录屏_为什么苹果手机受欢迎?因为没有一部安卓手机是“干净”的...
- satd残差_RDO、SAD、SATD、λ相关概念【转】
- mac安装thrift
- ======第一章操作系统引论======
- 什么是lambda(函数)?
- Mac下Tomcat乱码的问题
- Integer类的缓存机制
- BI系统AWS云迁移方案设计(通用)
- 台式机电源选购资料调研+为什么50%的时候负载功率最大+80PLUS的解释
- 附合导线坐标计算例题_附合导线坐标计算
- AD8302 幅度相位检测 鉴幅鉴相器 解调对数放大器 原理图PCB
- matlab计算加减乘除,matlab计算矩阵的加减乘除以及逆
- c语言delay和while,c语言中delay的用法
- 大数据早报:Firebase推出机器学习功能 英伟达大幅扩大深度学习学院规模(11.2)
- npm安装慢 ,卡在sill idealTree buildDeps不动
- driver转httpClient
- UA PHYS515A 电磁理论IV 时变电磁场理论3 电磁场的能量守恒
- AI周报丨《2021年人工智能专利综合指数报告》近日发布;北大团队提出基于卷积神经网络的全光计算,超快、超低能耗