C语言实现上三角蛇形矩阵不用数组,C/C++编程笔记:C++ 嵌套循环,含循环打印及蛇形矩阵实例...

也称为多循环,在一个循环中嵌套使用一个或多个循环。

嵌套循环的基本结构就是在一个循环中,循环体包含了另一个循环的情况。下面我用几个嵌套循环的例子来深入理解嵌套循环。

循环图案打印

分别打印下面三种图案:

aaa13f25665bc22a758172315f0d3229.png

思路分析

一般来说,单循环打印的图案都是线性的,要么是横线要么是竖线。那么我们这里需要打印一个二维图形,就需要从线跨越到面。那么我们只要有很多条线就能构成一个平面,所以我们这里打印二维图形就需要两个循环来实现。

那么我们这里规定外层循环控制行,内层循环控制列。然后找到图形中行与列的关系,通过控制内层循环的循环条件,就可以打印出需要的图形。

1. 实心菱形星星

菱形可以看做两个三角形组成的,一个正等腰三角,一个倒等腰三角。这里就可以通过if语句来根据行数改变列的循环条件,从而实现打印两个图形并组合。

下面是参考代码:

8861987c8752bce26c29a328d6997c8d.png

输出结果如下:

*

***

*****

*******

*****

***

*

2. 实心菱形字母

这里和实心菱形星星改变的只有打印的内容,整体的图形还是没变的。所以我们这里只要改变上面程序中打印的内容就行。

下面是参考代码:

b2f8971794650df98ea1ad09915fe4ad.png

输出结果如下:

7dc71b4af8e3083359d99987ff874350.png

3. 空心菱形星星

这里和实心菱形星星改变的也是内循环的内容,整体图形没有变化。所以只需要改变打印内容即可。

下面是参考代码:

a66166cf5038b47ac7c0add88b5564c5.png

输出结果如下:

c55949c266005190c810375ac8e56612.png

打印蛇形矩阵

顾名思义,蛇形矩阵:矩阵的一种,常被应用在编程题目与数学数列中。

它由1开始的自然数依次排列成的一个矩阵,有上三角、环形或对角线等走法,输入文件由一行或多行组成,每行由一个正整数N组成(N不大于100)。

下面练习一些常见的蛇形矩阵:

1. 上三角

要实现如下效果:

6cc3d1d996dab6e6497523556e56509c.png

可以发现上述表格的规律是,从左上角第一个格开始(起始为1),然后沿右上角到左下角的斜线,先从下到上,再从上到下。开始数字递增排列。

我们可以想象有一个游戏角色在一个 5*5 的格子上进行走动,每个数字就是他走的步数。这个角色只有4个移动方向,分别为向下、向右上、向右和向左下。那么我们就可以创造一个 (x,y)来表示角色的坐标。再用一个数组来记录每个坐标当中的步数是什么。

下面是参考代码:

0290392f1d874dc0b3f0c4abebf62ce2.png

77b7878eea0e3d57be970d2bb915c9c5.png

输出结果如下:

897e0f69eeef292630b5e146de32be5d.png

2. 环形

要实现如下效果:

53d1e33aab9512d5e031bfc8ecdfde1a.png

可以发现上述表格的规律是,从左上角第一个格开始(起始为1),进行顺时针绕圈圈移动。开始数字递增排列。

这里则可以认为这个角色在绕圈圈。这个角色只有4个移动方向,分别为向右、向下、向左和向上。这个角色每绕一圈,他所能走的格子宽度就减小 1。

下面是参考代码:

1ba66c73c8e1e5b30e50dcc62001e36a.png

输出结果如下:

希望对大家有帮助!

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值