首页 > 其他分享 >用99乘法表帮助理解for循环

用99乘法表帮助理解for循环

时间:2022-10-20 20:46:09浏览次数:57  
标签:do .. 99 循环 乘法表 bash

目录

用99乘法表帮助理解for循环

一、99乘法表的shell脚本

[rocky8.6] vim 99.sh

# !/bin/bash
for i in {1..9};do
	for j in `seq $i`;do
		let rs=$((i*j))
		echo -e "${i}x${j}=${rs} \c"
	done
	echo
done

[rocky8.6] bash 99.sh

1x1=1 
2x1=2 2x2=4 
3x1=3 3x2=6 3x3=9 
4x1=4 4x2=8 4x3=12 4x4=16 
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

二、拆分脚本各行


for i in {1..9};do
# 首次循环依次将列表 {1..9} 中的所有数字赋值给变量i,此时i为1到9,共9行

for j in `seq $i`;do
# 若直接将列表{1..9}赋值给j,则i会从1开始与j=1相乘到j=9才结束进行下一次循环,i=2..9皆如此循环
# 为了实现99乘法表,需要让j<=i,保证每一行的j都是小于等于i的
# 第二次循环for j in seq $i实际上就是让j永远小于等于i的情况下进行循环

rs=$((i*j))
# 此时定义变量rs为i与j相乘的数值

echo -e "${i}x${j}=${rs} \c"
# 指定i需要与j相乘,实际上就是让i在每一行都与j的所有循环值相乘。
# ${i}x${j}会和${j}x{i}显示结果不一致,是因为每一行的循环体发生改变;
# echo -e转义\c,让每一次循环结束后不换行,即实现了99乘法表的每一行都显示直到到i*j循环体结束
# echo -e转义空格,让每一次循环都带空格
# 最后计算出变量rs

done
# 首次循环结束

echo
# 让第二次循环执行直到j最大值时换行

done
# 第二次循环结束

三、延展的另一写法

[rocky8.6] vim 99Extra.sh

# !/bin/bash
for((i=1;i<=9;i++));do
	for((j=1;j<=i;j++));do
		echo "${i}x${j}=$[i*j]"
	done
	echo
done

标签:do,..,99,循环,乘法表,bash
From: https://www.cnblogs.com/Hibiki-official/p/16811145.html

相关文章

  • 17 while循环
    01为什么需要循环前面讲解if语句的那篇文章中有详细的if嵌套,这里只是说一下一般形式:if()if()语句1else语句2内嵌ifelseif()语句3else语句4内嵌if应该注意if与else的配对关......
  • ICMP timestamp请求响应漏洞CVE-1999-0524解决方法
     ICMPtimestamp请求响应漏洞CVE-1999-0524解决方法1、添加进和出的规则firewall-cmd--permanent--direct--add-ruleipv4filterINPUT0-pICMP--icmp-typetime......
  • 799. 最长连续不重复子序列
    给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0∼105范围内),表示整数序列。输出......
  • sql server 我们在做游标循环时,如何处理in里面多个id值的参数
    我们在处理查询SQL的包含in或notin时,一般都是这样写的,in(1,2)或in('1','2');但是今天我在做游标循环时,发现传入ids参数无法执行。效果大概这样:select*fromtabwhere......
  • 九鼎RK3399笔记三:测试迅为电子的杂项设备驱动
    Linux三大设备驱动字符设备:IO的传输过程是以字符为单位的,没有缓冲。比如I2C,SPI都是字符设备。块设备:IO的传输过程是以块为单位的。跟存储相关的,都属于块设备,比如TF卡。......
  • 循环链表及其基本操作
    1.循环链表概念对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷,因为循环链表当你以为你走到结尾的时候,其......
  • for循环联系题
    for循环联系题计算0-50的奇数和偶数的和packagecom.beijing.xiaowen.scanner;publicclassTest01{publicstaticvoidmain(String[]args){//计算......
  • Chap4 循环结构 第八小组 学习心得
    循环结构的相应知识    循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环,是编程中必不可少......
  • Codeforces Round #699 C
    C.FencePainting显然对于我们不同的就直接修改但是我们应该贪心的叫更后面来的人来修改这样前面的人怎么造都无所谓了for(inti=1;i<=n;i++){if(a[i]!=b[i]......
  • C语言初级阶段3——循环与分支
    C语言初级阶段4——数组1——一维数组1.定义:类型相同,内存连续的集合。(数据的组合)2.数组的定义格式:类型说明符数组名[数组的大小](1)类型说明符:数据类型(2)数组名:必须是合......