C 练习实例23-打印菱形

题目:打印出如下图案(菱形)。

   *
  ***
 *****
*******
 *****
  ***
   *


题目分析:

先打印前4行,因为是递增关系。

第0行:打印3个空格,1个*

第1行:打印2个空格,3个*

第2行:打印1个空格,5个*

第3行:打印0个空格,7个*

不难发现规律:(设行序列为 i )

空格数是行序列以3的补码,

第 i 行打印的空格数 =3 - i

第 i 行打印 * 的个数 = 2 * i + 1

后打印后三行,因为是递减规律。(行序号自己定,就是个循环标号,怎么方便怎么来,无所谓

i = 2时,第 2 行 空格数 = 1,* 数 = 5

i = 1时,第 1 行 空格数 = 2,* 数 = 3

i = 0时,第 0 行 空格数 = 3,* 数 = 1

规律:空格数 = 3 - i   ,  * 数 = 2 * i + 1

代码:

#include <stdio.h>
int main()
{int i,j,k;//打印前4行for(i=0;i<4;i++){	//最外层循环控制行,打印换行符for(j=0;j<3-i;j++){	//打印空格,i(行序号)=0时,循环打印3次空格printf(" ");			//  i(行序号)=1时,循环打印2次空格}							//  i(行序号)=2时,循环打印1次空格for(k=0;k<2*i+1;k++){//打印 * ,i(行序号)=0时,循环打印1次 * printf("*");	// 	        i(行序号)=1时,循环打印3次 * }					//    	    i(行序号)=2时,循环打印5次 * printf("\n");}//打印行3行for(i=2;i>=0;i--){for(j=0;j<3-i;j++){	//打印空格,i(行序号)=2时,循环打印1次空格printf(" ");			//  i(行序号)=1时,循环打印2次空格}							//  i(行序号)=0时,循环打印3次空格for(k=0;k<2*i+1;k++){//打印 * ,i(行序号)=2时,循环打印5次 * printf("*");	//    	    i(行序号)=1时,循环打印3次 * }					//    	    i(行序号)=2时,循环打印5次 * printf("\n");}return 0;
}

结果: 

   *********
****************--------------------------------
Process exited after 0.2859 seconds with return value 0
请按任意键继续. . .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474438.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(每日持续更新)jdk api之ObjectInputStream.GetField基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

云计算基础-华为存储实验

存储配置流程 创建硬盘域&#xff08;CK&#xff0c;包括热备CK&#xff09;创建存储池&#xff08;CKG、Extent&#xff09;创建LUN、LUN组、将LUN加入LUN组创建主机、主机组、将主机加入主机组创建映射视图&#xff08;LUN组和主机组的映射&#xff09; 1. 创建CK 创建硬盘…

yolov8源码解读Detect层

yolov8源码解读Detect层 Detect层解读网络各层解读及detect层后的处理 关于网络的backbone,head&#xff0c;以及detect层后处理&#xff0c;可以参考文章结尾博主的文章。 Detect层解读 先贴一下全部代码,下面一一解读。 class Detect(nn.Module):"""YOLOv8 …

“挖矿”系列:细说Python、conda 和 pip 之间的关系

继续挖矿&#xff0c;挖“金矿”&#xff01; 1. Python、conda 和 pip&#xff08;挖“金矿”工具&#xff09; Python、conda 和 pip 是在现代数据科学和软件开发中常用的工具&#xff0c;它们各自有不同的作用&#xff0c;但相互之间存在密切的关系&#xff1a; Python&…

数据库MySQL中出现乱码和表格不对齐怎么解决

MySQL中出现乱码问题及解决办法&#xff1a; 情况类似&#xff1a; 首先进入到数据库中&#xff0c;命令&#xff1a;mysql -h localhost -uroot -p或者mysql -uroot -p;进入数据库后选择一个你的数据库查看表中的中文是否乱码 以上是数据库中表格出现乱码情况&#xff0c;原…

Stable Diffusion webui安装详细教程

上一篇文章介绍了sd主流的ui&#xff0c;相信大家已经有所了解&#xff0c;下面为大家介绍sd-webui的安装详细教程 文章目录 一、 安装包说明二、对电脑的要求三、安装文件介绍四、安装步骤五、电脑问题与云主机六、界面简要说明及通用反向提示词 一、 安装包说明 通常我们使…

第12章 反射

12.1 反射概述 Java的反射&#xff08;reflection&#xff09;机制是指在程序的运行状态中&#xff0c;可以构造任意一个类的对象&#xff0c;可以得到任意一个对象所属的类的信息&#xff0c;可以调用任意一个类的成员变量和方法&#xff0c;可以获取任意一个对象的属性和方法…

绝地求生:荣都加入竞技模式,地图轮换系统不会取消

从28.1开始&#xff0c;荣都将成为&#xff08;亚服&#xff09;竞技地图的一份子&#xff08;有消息称日韩服将移除荣都&#xff09; 所以各地区地图轮换将会根据各地区的偏好轮换。 在接下来竞技地图换轮中&#xff0c;四个地图出现的概率为: 艾伦格Erangel(25%)/米拉玛Miram…

基于MapVGL的地理信息三维度数据增长可视化

写在前面 工作中接触&#xff0c;简单整理博文内容为 基于MapVGL的地理信息维度数据增长可视化 Demo理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都…

Netty Review - 客户端流程源码解析

文章目录 PreNetty Client CodeNetty 客户端创建流程源码分析入口客户端建立连接NioMessageUnsafe#read 处理 OP_ACCEPT 客户端发送数据NioByteUnsafe#read 处理 OP_READ 源码图 Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 …

由于找不到MSVCP140.dll无法运行软件游戏,多种解决方法分享

电脑系统在运行过程中&#xff0c;当出现“由于找不到MSVCP140.dll”这一提示时&#xff0c;可能会引发一系列潜在的问题与影响。当电脑无法找到这个特定的dll文件时&#xff0c;意味着相关应用可能无法顺利加载并执行必要的组件&#xff0c;进而导致程序无法启动或运行过程中频…

Python中超超超高颜值的库,我刚发现的...

在Python中&#xff0c;有一个名为rich的宝藏包&#xff0c;它能够将你的终端输出变成一场视觉盛宴。rich是一个用于在终端中呈现富文本&#xff08;包括颜色、样式、表格、进度条等&#xff09;的Python库&#xff0c;它可以使你的命令行界面变得生动而富有表现力。 如何安装 …