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.mzph.cn/news/678058.shtml

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

相关文章

vue day06

1、路由模块封装 2、声明式导航 实现导航高亮效果 直接通过这两个类名对相应标签设置样式 点击a链接进入my页面时&#xff0c;a链接 我的音乐高亮&#xff0c;同时my下的a、b页面中的 我的音乐也有router-link-active类&#xff0c;但没有精确匹配的类&#xff08;只有my页…

C++PythonC# 三语言OpenCV从零开发(8):图像平滑处理

文章目录 相关链接前言图像资源图像平滑处理图像学知识补充(重点)什么是卷积什么是图像滤波什么是方框滤波和均值滤波 代码PythonCCsharp 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课…

奇安信网神 SecGate3600-authManageSet.cgi登录绕过漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

《Python 网络爬虫简易速速上手小册》第8章:分布式爬虫设计(2024 最新版)

文章目录 8.1 分布式爬虫的架构8.1.1 重点基础知识讲解8.1.2 重点案例&#xff1a;使用 Scrapy 和 Scrapy-Redis 构建分布式爬虫8.1.3 拓展案例 1&#xff1a;使用 Kafka 作为消息队列8.1.4 拓展案例 2&#xff1a;利用 Docker 容器化工作节点 8.2 分布式任务管理8.2.1 重点基础…

硬件工程师成长之路(0)----认识元件

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言1、电阻①、贴片电阻②、金属膜电阻③、水泥电阻④、制动电阻⑤、电位器⑥、压敏电阻⑦、热敏电阻⑧、光敏电阻⑨…

路径索引详解

contents 一、前言二、/三、../四、./五、补充 一、前言 无论是在 Windows OS 还是在 Linux OS&#xff0c;在进行文件路径索引时&#xff0c;总能看到 / or ../ or ./ 的身影&#xff0c;下面分别解释各自的意义 二、/ / 表示从根目录开始索引 在类 Unix 操作系统中&#…

Python远程控制工具的使用

本节我们对所编写的远程控制工具的功能进行测试。首先开启主控端程序&#xff0c; 如下所示&#xff1a; 接下来打开被控端程序。当被控端打开时&#xff0c;主控端会收到被控端的连接请 求。 开启被控端程序&#xff1a; 主控端接收到连接请求并显示被控端主机的信息&#xff…

Java集合框架(包装类、泛型)

前言&#xff1a; 本篇文章我们来讲解Java中的集合框架&#xff0c;就相当于车轮子。Java是面向对象的语言&#xff0c;所以相对于C语言有自身优势&#xff0c;就比如现成的数据结构&#xff08;比如栈&#xff0c;队列&#xff0c;堆等&#xff09;。Java的集合框架大家也不用…

13 年后,我如何用 Go 编写 HTTP 服务(译)

原文&#xff1a;Mat Ryer - 2024.02.09 大约六年前&#xff0c;我写了一篇博客文章&#xff0c;概述了我是如何用 Go 编写 HTTP 服务的&#xff0c;现在我再次告诉你&#xff0c;我是如何写 HTTP 服务的。 那篇原始的文章引发了一些热烈的讨论&#xff0c;这些讨论影响了我今…

2019 年全国职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书(笔记详解)

1. 网络拓扑图 2. IP 地址规划表 3. 设备初始化信息 阶段一 任务 1:网络平台搭建 1、根据网络拓扑图所示,按照 IP 地址参数表,对 DCFW 的名称、各接口IP 地址进行配置。 2、根据网络拓扑图所示,按照 IP 地址参数表,对 DCRS 的名称进行配置,创建 VLAN 并将相应接口划入 …

二十、K8S-1-权限管理RBAC详解

目录 k8s RBAC 权限管理详解 一、简介 二、用户分类 1、普通用户 2、ServiceAccount 三、k8s角色&角色绑定 1、授权介绍&#xff1a; 1.1 定义角色&#xff1a; 1.2 绑定角色&#xff1a; 1.3主体&#xff08;subject&#xff09; 2、角色&#xff08;Role和Cluster…

第三百一十六回

[tod] 我们在上一章回中介绍了"如何在输入框中处理光标"相关的内容&#xff0c;本章回中将介绍如何添加输入框默认值.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 在项目中经常使用输入框获取用户输入的内容&#xff0c;有时候在输入框中反复输入相…

城市合伙人计划:资源共享、知识交流、合作创新

城市合伙人计划是一种合作伙伴关系&#xff0c;旨在通过共享资源、知识和经验&#xff0c;共同推动城市的经济发展和社会进步。这种计划通常涉及市政府、企业、社会组织和个人等多个方面&#xff0c;通过合作共同解决城市面临的问题和挑战。 城市合伙人计划的具体形式和内容可…

基于SSM的图书管理系统

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/88825395?spm1001.2014.3001.5503 Java项目-14 1、导入源码 不成功导入模块也可以 2、配置jdk-一般为1.8 3、修改文件中数据库连接名与密码 4、配置Maven 5、更新Maven 7、添加数据库…

【MySQL】-12 MySQL索引(上篇MySQL索引类型前置-1)

MySQL索引 索引1 索引基础2 索引与优化1 选择索引的数据类型1.1 选择标识符 2 索引入门2.1 索引的类型2.1.1 B-Tree索引2.1.2 Hash索引2.1.3 空间(R-Tree)索引2.1.4 全文(Full-text)索引 索引的优点&#xff1a;索引是最好的解决方案吗&#xff1f; 索引 索引&#xff08;在MYS…

【笔记】Harmony学习:下载安装 DevEco Studio 开发工具IDE

IDE 安装 从官网下载DevEco Studio 安装包后进行安装&#xff0c; 安装完毕后&#xff0c;本地环境可能要配置相关工具&#xff0c;可以通过下面的诊断检测一下本地环境&#xff0c;通过蓝色“Set it up now” 可以快速安装。 1. Node.js (for ohpm) 2. ohpm 下载op的包管理&a…

精灵图,字体图标,CSS3三角

精灵图 1.1为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁的接受和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度。 因此&#xff0c;为了有效地减少…

43.1k star, 免费开源的 markdown 编辑器

简介 项目名&#xff1a; MarkText-- 简单而优雅的开源 Markdown 编辑器 Github 开源地址&#xff1a; https://github.com/marktext/marktext 官网&#xff1a; https://www.marktext.cc/ 支持平台&#xff1a; Linux, macOS 以及 Windows。 操作界面&#xff1a; 在操作界…

一场由对生成型人工智能的普遍不满引发的全面攻击正在展开

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【Linux】学习-动静态库

动静态库 头文件与库的区别 头文件一般而言&#xff0c;是声明和宏定义。头文件是在预处理阶段使用的 库文件是已经编译好的二进制代码。是一种目标文件&#xff0c;库文件是在链接阶段使用的 对于头文件和库我们可以这样理解&#xff0c;就是头文件提供的是一个函数的声明&…