Linux centos7 bash编程训练__打印各类形状

news2024/12/27 12:19:41

利用for循环,打印各种不同的三角形、矩形和菱形。

主要是fort循环嵌套使用,及条件判断等。

因方法简单,不作更多解释,部分注释可以帮助初学者掌握代码。

下面列出代码,供参考。

#! /bin/bash

## 打印输出各种*型形状
## 训练打印输出代码

echo "打印单行*号"
for i in {1..6};do echo -n "*";done;echo

echo
echo "打印单行*号(有空格)"
for i in {1..6};do echo -n "* ";done;echo
echo "==========================="

echo "打印*型直角三角形"
for i in {1..6};do for ((j=1;j<=i;j++));do echo -n "*";done;echo;done
echo
echo "+++++++++++++++++++++++++++"
echo "打印*型直角三角形(有空格)"
for i in {1..6};do for ((j=1;j<=i;j++));do echo -n "* ";done;echo;done
echo
echo
echo "==========================="
echo "打印实心三角形"
for ((i=1; i<10; i++));do
    for ((n=10; n>=i; n--));do
        echo -n " "
    done
        for ((m=1; m<=i; m++));do
             echo -n "* "
        done
         echo
done

echo
echo "---------------------"
echo "打印空心三角形"

for ((i=1;i<=10;i++))
do
    for ((j=1;j<=$((10-$i));j++))
    do
        echo -n " "
    done

    for((j=1;j<=$((2*$i-1));j++))
    do
        if [ $j -eq 1 -o $j -eq $((2*$i-1)) -o $i -eq 10 ]
        then
            echo -n "*"
        else
            echo -n " "
        fi
    done
    echo
done
echo
echo "==========================="
echo "打印*型矩形"

for i in {1..6};do for ((j=6;j>0;j--));do echo -n "* ";done;echo;done
echo
echo  "+++++++++++++++++++++++++++"
echo "打印*型空心矩形"
for ((i=1;i<=10;i++))   #外循环循环十遍,这是输出10行
do
    if ((i>1 && i<10))
    then   #当i值大于1,小于10成立
        echo -n "*"          #不换行输出1个*
        for ((j=1;j<=8;j++))    #k初始值为1,当j值小于等于8,条件成立,每次j值加1
        do
            echo -n "  "  #不换行输出二个空格
        done
        echo -n " *"        #不换行输出一个 *
    else
        for ((n=1;n<=10;n++)) #内循环循环十遍,矩形的列10个*
        do
            echo -n "* "   # 不换行输出符号“* ”
        done
    fi
    echo  #内循环结束,换一次行
done
echo "------------------------------"

echo  "打印菱形"
echo  "下面的案例为键盘录入一个数,打印一定形状的菱形"

read -p "请输入菱形大小:" number
for ((i=0-number+1;i<number;i++))
do
    if ((i>=0))
    then
              ## 正数取原值
        num=$i
      else
            ##负数取绝对值
        num=${i:1} ##变量切片,不要首位字符
      fi

      for ((j=num;j>0;j--))
      do
        ##打印空格
        echo -n " "
      done

      for ((k=1;k<=2*(number-num)-1;k++))
      do
           ##打印"*"
           echo -n "*"
      done
      echo
done
部分效果图如下:

本代码主要使用的是for。当然也可以用while实现。

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

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

相关文章

中企出海,用火山引擎DataTester开启增长第一步

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 今年 Google 宣布其提供的A/B测试工具 Optimize 将在2023年9月30号停止服务。在全球化浪潮席卷下&#xff0c;越来越多的中国企业正在加速走向全球市场&#xff0c;…

使用 Webpack 从 0 到 1 构建 Vue3 项目 + ts

使用 Webpack 从 0 到 1 构建 Vue3 项目 1.初始化项目结构2.安装 webpack&#xff0c;补充智能提示3.初步编写 webpack.config.js3.1设置入口文件及出口文件3.2 指定 html 模板位置 4.配置 运行/打包 命令&#xff0c;首次打包项目5.添加 Vue 及相关配置5.1安装并引入 vue5.2 补…

一个详细且完整的公司局域网搭建案例,跟着操作!

局域网(Local Area Network&#xff0c;简称LAN)&#xff0c;用于将有限范围内&#xff08;例如一个实验室、一层办公楼或者校园&#xff09;的各种计算机、终端与外部设备互联成网。公司局域网怎么建立&#xff1f;首先来了解下不同规模企业网络组建方式。 10人以下企业网络组…

固定资产管理表怎么填写

在现代企业管理中&#xff0c;固定资产的管理是至关重要的环节。它不仅关系到企业运营的效率&#xff0c;也直接影响到企业的财务状况。因此&#xff0c;正确、有效地填写和管理固定资产管理表显得尤为重要。并提供一些创新的方法来优化这一过程。  让我们理解什么是固定资产…

Win10 cmd默认使用管理员身份运行的修改

一、在开始菜单搜索cmd&#xff0c;打开快捷方式文件位置 二、鼠标右键快捷方式&#xff0c;打开属性 三、选择高级&#xff0c;再勾选用管理员身份运行&#xff0c;点击确定即可

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力

文心一言插件开发 前言插件插件是什么工作原理申请开发权限 开始第一步&#xff1a;安装python第二步&#xff1a;搭建项目manifest 描述文件&#xff1a;ai-plugin.json插件服务描述文件&#xff1a;openapi.yaml开发自己的plugin-server 第三步&#xff1a;上传插件 SDK相关链…

记录一次开机内存分析的全过程

作者&#xff1a;zzy的学习笔记 记录一次开机内存分析的全过程&#xff0c;尽量详尽的介绍常用内存分析工具和命令行的使用&#xff0c;结合具体问题探讨开机内存分析的实践经验。通过这篇文章我会介绍开机内存的常用测试分析工具的基本使用方法&#xff0c;以及如何通过抓取出…

在UMG中播放图像序列,出现卡帧怎么办?

在虚幻引擎中播放图像序列 前期步骤可以参考上面链接中官方文档的步骤1-13 如果在媒体播放器中播放的时候&#xff0c;出现卡帧现象&#xff0c;说明你的图片序列的帧率与默认的不匹配 需要在lmg Media Source类型文件中&#xff0c;覆写你的帧率 比如&#xff0c;我的图片序…

VSCode错误整理

文章目录 一、zsh: command not found: python二、Python pip安装Django异常Could not find a version that satisfies the requirement pytz (from django)三、WARNING: You are using pip version 21.2.4, however version 23.2.1 is available.四、pip install django下载报…

Sui参会必备|Token 2049活动一览

TOKEN2049是在新加坡举办的一年一度首屈一指地加密货币活动&#xff0c;吸引了顶级的Web3公司和项目的创始人和高管&#xff0c;他们将在这里分享行业观点、聚焦全球发展&#xff0c;同时以独特且广泛的视角审视这个生态系统及其广阔的机会。 自5月份主网上线以来&#xff0c;S…

lv3 嵌入式开发-11 Linux下GDB调试工具

目录 1 GDB简介 2 GDB基本命令 3 GDB调试程序 1 GDB简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说&#xff0c;GDB主要帮助你完成下面四个方面的功能&#xff1a; 1、启动你的程序&#xff0c;可以按照你的自定义的要求随心所欲的运行程序&#…

七、MySql表的内置函数

文章目录 一、日期函数&#xff08;一&#xff09;常用日期函数1.获得年月日&#xff1a;2.获得时分秒&#xff1a;3.获得时间戳&#xff1a;4.在日期的基础上加日期&#xff1a;5.在日期的基础上减去时间&#xff1a;6.计算两个日期之间相差多少天 &#xff08;二&#xff09;…

基于Spring Boot 3.1.0的Dubbo代码实现(以Redis作为注册中心)

目录 基于Spring Boot 3.1.0的Dubbo代码实现&#xff08;以Redis作为注册中心&#xff09;一 简介二 前言三 文档查阅四 依赖项1 注意事项2 版本3 dependencyManagement依赖4 dependency依赖 五 配置文件1 注意事项2 代码 六 yml文件 基于Spring Boot 3.1.0的Dubbo代码实现&…

RRU-Net:The Ringed Residual U-Net for Image Splicing Forgery Detection阅读笔记一

文章目录 1. Introduction2. Related Work3. The Ringed Residual U-Net (RRU-Net)3.1. Residual Propagation3.2. Residual Feedback3.3. Ringed Residual Structure and Network Architectures 4. Evaluation Experiment and Comparative Analysis 1. Introduction 根据现有…

Golang 常用的几种密码加密方式

加密方式 加密有两种方式&#xff0c;一种是直接加密&#xff0c;一种是盐值加密 **直接加密&#xff08;Plain Hashing&#xff09;**指的是将原始密码直接进行加密&#xff0c;而不进行任何额外的操作。这种方式可能存在一些安全风险&#xff0c;因为相同的密码在经过加密后…

STM32F4X DMA

STM32F4X DMA 什么是DMASTM32F4X DMADMA框图DMA通道DMA仲裁器DMA FIFO DMA传输模式DMA传输方向存储器到存储器存储器到外设外设到存储器 DMA循环模式和普通模式循环模式&#xff08;Circular&#xff09;普通模式&#xff08;Normal&#xff09; DMA源、目标寄存器增量模式DMA例…

一文简介,数字时代的数据交易模式

在数字时代&#xff0c;数据作重要的信息和资源&#xff0c;未来获得更高质量的数据资源&#xff0c;数据交易越来越常见&#xff0c;数据也成为企业重要的无形资产。 2022年3月出台的《中共中央、国务院关于加快建设全国统一大市场的意见》强调要加快培育数据要素市场&#xf…

Zabbix登录绕过漏洞复现(CVE-2022-23131)

0x00 前言 最近在复现zabbix的漏洞&#xff08;CVE-2022-23131&#xff09;&#xff0c;偶然间拿到了国外某公司zabbix服务器。Zabbix Sia Zabbix是拉脱维亚Zabbix SIA&#xff08;Zabbix Sia&#xff09;公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和…

Jetpack Compose 1.5 发布:全新 Modifier 系统助力性能提升

不久前 Compose 1.5.0 稳定版发布&#xff0c;在组合的性能方面得到明显改善&#xff0c;这主要归功于对 Modifier API 的持续重构。 Modifier 是 Compose 中的重要概念&#xff0c;为 Composition 中的 LayoutNode 配置各种样式信息以用于后续渲染。在 1.3.0 之前的 Modifier …

Java知识点二

Java知识点二 1、Comparable内部比较器&#xff0c;Comparator外部比较器2、源码结构的区别:1&#xff09;Comparable接口&#xff1a;2&#xff09;Comparator接口&#xff1a; 2、Java反射 1、Comparable内部比较器&#xff0c;Comparator外部比较器 我们一般把Comparable叫…