ACM【倒蛇填数】:
发布日期:2021-05-14 11:31:52 浏览次数:21 分类:精选文章

本文共 646 字,大约阅读时间需要 2 分钟。

ACM【倒蛇填数】:

描述

在nn方陈里填入1,2,…,nn,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

分析

若输入3,则矩阵最大数为33为9,输入4,最大值为44为16,最先开始从第一行最后一个元素初值从1开始,列不变行向下到底端, 行不变列向左到边界, 列不变行向上到边界, 行不变列增加到已被赋值的数, 列不变行向下到已被赋值的数。。。。一直循环按此规律循环。。直到元素值比n*n大
下面代码外循环控制整体需要结束的条件, 4个内循环分别的功能是向下,向左,向上,向右,在具体循环的时候,每次都是先判断在执行,先试探下一个元素是否没有越边界或是否无值,才能继续向下,否则进入下一个while循环,变换方向

代码

#include
int main(){ int a[10][10]={ 0},i,j,c,n,x,y;//记得数组要初始化! scanf("%d",&n); x=0;y=n-1; c=a[x][y]=1; while(c
=1&&!a[x][y-1])//向左 a[x][--y]=++c; while(x>=1&&!a[x-1][y])//向上 a[--x][y]=++c; while(y<=n-2&&!a[x][y+1])//向右 a[x][++y]=++c; } for(i=0;i
上一篇:Java编程基础_注解与命名规则&数据类型&运算符&修饰符&流程控制
下一篇:STM32F429第二十五篇之MCU屏实验详解

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月22日 02时22分51秒