C语言之随心所欲打印三角形,金字塔,菱形(倒金字塔)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点): 我要学编程(ಥ_ಥ)-CSDN博客

目录

三角形 

金字塔 

倒金字塔

菱形


三角形 

题目:根据输入的行数打印对应的三角形。(用 * 号打印)

#include <stdio.h>
int main()
{int row = 0;scanf("%d", &row);int i = 0;for (i = 0; i < row; i++)//打印行{int j = 0;for (j = 0; j < 2 * i + 1; j++)//打印列{printf("*");}printf("\n");//换行}return 0;
}

金字塔 

 题目:根据输入的行数打印对应的金字塔。(用 * 号和空格打印)

#include <stdio.h>
int main()
{int row = 0;scanf("%d", &row);int i = 0;for (i = 0; i < row; i++)//行{//金字塔除了星号(*),还有空格。每一行只有星号要全部打印,空格只要打印一半(左边的)int j = 0;for (j = 0; j < row - i; j++){printf(" ");}for (j = 0; j < 2 * i + 1; j++){printf("*");}printf("\n");}return 0;
}

至于右边,我们只需要打印*,不需要打印空格。而左边就都需要打印,我们先来找一下规律。(这种打印图形的都是有规律的) 空格是5—>1的逐级递减(只看左边),而*是1,3—>9的奇数跳跃增加(全部一起看)。空格 = 行数 - i ,* = 2i + 1。当然这个题的规律不止这一种,我就不列举了。

倒金字塔

题目:根据输入的行数打印对应的菱形。(用 * 号和空格打印)

#include <stdio.h>
int main()
{int row = 0;scanf("%d", &row);int i = 0;for (i = 0; i < row; i++){int j = 0;for (j = 0; j < i + 1; j++){printf(" ");}for (j = 0; j < 2 * (row - i) - 1; j++){printf("*");}printf("\n");}return 0;
}

空格 = i + 1,因为是逐级变化,肯定是与 i 有关(第一个空格数是1) 。* = 2(row- i)- 1。* 是跳跃变化,就肯定和2 * i 有关系,再通过多组推敲,得出是这个规律。

菱形

题目:根据输入的行数打印对应的菱形。(用 * 号和空格打印)

#include <stdio.h>
int main()
{int row = 0;scanf("%d", &row);int uppart = row / 2 + row % 2;int lopart = row - uppart;int i = 0;//打印上半部分for (i = 0; i < uppart; i++){int j = 0;for (j = 0; j < uppart - i; j++){printf(" ");}for (j = 0; j < 2 * i + 1; j++){printf("*");}printf("\n");}//打印下半部分//就是倒金字塔for (i = 0; i < lopart; i++){int j = 0;for (j = 0; j < i + 2; j++){printf(" ");}for (j = 0; j < 2 * (lopart - i) - 1; j++){printf("*");}printf("\n");}return 0;
}

 上半部分的打印,其实就是打印那个金字塔。而下半部分就是倒着的金字塔。

空格 = i + 2,因为是逐级变化,肯定是与 i 有关 。* = 2(lopart - i)- 1。* 是跳跃变化,就肯定和2 * i 有关系,再通过多组推敲,得出是这个规律。

总结:这种图形的打印是有规律的。这个规律得通过多组数据来推敲,演化,来得出。以上的所有图形的空格数都是以输入的数作为参照的。(就是输入的行数的那一列,不计数空格数)

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

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

相关文章

在windows平台上mysql的安装教程

1.下载 mysql下载网址&#xff1a;https://dev.mysql.com/downloads/installer/ 这里直接选择的是mysql的社区版。自己使用直接选择免费的就行 直接选择下载 2.安装过程 选择Server only 就行 下一步 下一步 下一步&#xff0c;选择弱密码把&#xff0c;方便学习和自己使用 设置…

蓝桥杯Web应用开发-浮动与定位

浮动与定位 浮动布局比较灵活&#xff0c;不易控制&#xff0c;而定位可以控制元素的过分灵活性&#xff0c;给元素一个具体的空间和精确的位置。 浮动 我们使用 float 属性指定元素沿其容器的左侧或右侧放置&#xff0c;浮动布局常见取值如下&#xff1a; • left&#xff0…

K8S之Namespace的介绍和使用

Namespace的理论和实操 Namespace理论说明Namespace实操创建、查看命名空间使用ResouceQuota 对Namespace做资源限额更多ResouceQuota 的使用 Namespace理论说明 命名空间定义 K8s支持多个虚拟集群&#xff0c;它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间&…

seatunnel数据集成(一)简介与安装

seatunnel数据集成&#xff08;一&#xff09;简介与安装seatunnel数据集成&#xff08;二&#xff09;数据同步seatunnel数据集成&#xff08;三&#xff09;多表同步seatunnel数据集成&#xff08;四&#xff09;连接器使用 1、背景 About Seatunnel | Apache SeaTunnel …

Docker下安装GitLab

极狐GitLab Docker 镜像 | 极狐GitLab 安装所需最小配置 内存至少4G 系统内核至少3.10以上 uname -r 命令可以查看系统内核版本 安装Docker 1.更新 yum源 yum update 2.安装依赖(如果在操作第三步的时候提示yum-config-manager 未找到命令 就安装下面依赖) yum instal…

R语言学习case11:ggplot 置信区间(包含多子图)

ggplot Geometric objects How are these two plots similar? 两个图都包含相同的x变量、相同的y变量&#xff0c;并且描述相同的数据。但是这两个图并不相同。每个图使用不同的可视化对象来表示数据。在ggplot2语法中&#xff0c;我们说它们使用不同的geoms。 geom是绘图…

使用 Python、Elasticsearch 和 Kibana 分析波士顿凯尔特人队

作者&#xff1a;来自 Jessica Garson 大约一年前&#xff0c;我经历了一段压力很大的时期&#xff0c;最后参加了一场篮球比赛。 在整个过程中&#xff0c;我可以以一种我以前无法做到的方式断开连接并找到焦点。 我加入的第一支球队是波士顿凯尔特人队。 波士顿凯尔特人队是…

C语言实现memcpy、memmove库函数

目录 引言一、库函数介绍二、库函数详解三、源码实现1.memcpy源码实现2.memmove源码实现 四、测试1.memcpy函数2.memmove函数 五、源码1.memcpy源码2.memmove源码 六、参考文献 引言 关于memcpy和memmove这两个函数&#xff0c;不论是算法竞赛还是找工作面试笔试&#xff0c;对…

感悟笔记——2024年2月5日

今日阅读了一篇挺有深度的文章&#xff0c;主要阐述进入职场后的大部分人&#xff0c;是怎么逐渐沦为螺丝钉的?即使起点巨高的优等生&#xff0c;也不可避免。文章指路&#xff1a; 「优等生思维」正在将你变成「螺丝钉」和「老黄牛」从小到大&#xff0c;我一直都是那个「别…

Python类与对象

目录 面向对象 定义类 创建对象 类的成员 实例变量 构造方法 实例方法 类变量 类方法 封装性 私有变量 私有方法 使用属性 继承性 Python中的继承 多继承 方法重写 多态性 继承与多态 鸭子类型测试与多态 面向对象 类和对象都是面向对象中的重要概念。面向…

目标检测:3采用YOLOv8 API训练自己的模型

​ 目录 ​1.YOLOv8 的新特性 2.如何使用 YOLOv8? 3使用YOLOv8训练模型 4.验证训练集 5.测试训练集 6.测验其他图片 7 其他问题 参考: 1.YOLOv8 的新特性 Ultralytics 为 YOLO 模型发布了一个全新的存储库。它被构建为 用于训练对象检测、实例分割和图像分类模型的统…

【JS逆向学习】今日头条

逆向目标 目标网页&#xff1a;https://www.toutiao.com/?wid1707099375036目标接口&#xff1a;https://www.toutiao.com/api/pc/list/feed目标参数&#xff1a;_signature 逆向过程 老规矩先观察网络请求&#xff0c;过滤XHR请求观察加密参数&#xff0c;发现Payload的_s…

arm 汇编积累

C语言函数与汇编对应关系 一、MOV 系列指令 1、指令格式 MOV{条件}{S} 目的寄存器&#xff0c;源操作数 2、含义解析&#xff1a; &#xff08;1&#xff09;&#xff1a;mov 指令传送数据 案例&#xff1a; MOV R0,R1 ; R0 R1; MOV PC,R14 ;PC R14; MOV R0,R…

Kafka SASL_SSL双重认证

文章目录 1. 背景2. 环境3. 操作步骤3.1 生成SSL证书3.2 配置zookeeper认证3.3 配置kafka安全认证3.4 使用kafka客户端进行验证3.5 使用Java端代码进行认证 1. 背景 kafka提供了多种安全认证机制&#xff0c;主要分为SASL和SSL两大类。 SASL&#xff1a; 是一种身份验证机制&…

【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总

【NLP概念合集&#xff1a;一】预训练 Pre-Training&#xff0c;微调 Fine-Tuning 及其方法的概念区别 前言请看此正文预训练 Pre-Training无监督学习 unsupervised learning概念&#xff1a;标签PCA 主成分分析&#xff08;Principal Component Analysis&#xff09;降维算法L…

本地部署TeamCity打包发布GitLab管理的.NET Framework 4.5.2的web项目

本地部署TeamCity 本地部署TeamCity打包发布GitLab管理的.NET Framework 4.5.2的web项目部署环境配置 TeamCity 服务器 URLTeamCity 上 GitLab 的相关配置GitLab 链接配置SSH 配置项目构建配置创建项目配置构建步骤构建触发器结语本地部署TeamCity打包发布GitLab管理的.NET Fra…

市场复盘总结 20240205

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率低 50% 最常用…

Leetcode刷题笔记题解(C++):257. 二叉树的所有路径

思路&#xff1a;深度优先搜索 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right…

[软件工具]文档页数统计工具软件pdf统计页数word统计页数ppt统计页数图文打印店快速报价工具

文档页数统计工具软件——打印方面好帮手 在信息化时代&#xff0c;文档已成为我们工作、学习、生活中不可或缺的一部分。无论是学术论文、商业报告&#xff0c;还是个人日记&#xff0c;都需要我们对其进行有效的管理。而在这个过程中&#xff0c;文档页数统计工具软件就显得…

掌握CSS网格函数fit-content()的妙用

CSS网格布局是一种强大的布局系统&#xff0c;它提供了灵活的网格化设计能力。其中&#xff0c;fit-content()函数是一项重要的功能&#xff0c;它可以帮助我们在网格容器中自动调整网格项的尺寸。本文将详细讲解fit-content()函数的使用方法及其常见应用场景&#xff0c;助你掌…