shell,awk两种方法写9*9乘法表
发布时间:2020-12-15 21:12:22 所属栏目:安全 来源:网络整理
导读:在编写前我们需要分析一下都需要什么?第一种shell方法 1 .需要两个数相乘,我们需要两个循环 2 .判断以怎样的形式展现出来,我们需要一个if 判断,if判断的不同会影响到最后输出结果的不同 3 .输出格式 1 #!/bin/ bash 2 3 for ((i= 1 ;i= 9 ;i++ )) #通过
在编写前我们需要分析一下都需要什么? 第一种shell方法 1.需要两个数相乘,我们需要两个循环 2.判断以怎样的形式展现出来,我们需要一个if 判断,if判断的不同会影响到最后输出结果的不同 3.输出格式 1 #!/bin/bash 2 3 for ((i=1;i<=9;i++)) #通过循环得到第一个数 4 do 5 for ((j=1;j<=9;j++)) #通过这个循环得到第二个数 6 do 7 if [ $i -ge $j ] #通过if进行判断 8 then 9 c=$(($i*$j)) #将得到的值赋给变量c 10 echo -e -n "$j*$i=$ct" #输出格式 11 fi 12 done 13 echo 14 done 得到的结果为: [[email?protected] day3]# bash 9*9.sh 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 如果if 判断使用 -lt 结果会是这样: 1 #!/bin/bash 2 3 for ((i=1;i<=9;i++)) 4 do 5 for ((j=1;j<=9;j++)) 6 do 7 if [ $i -le $j ] 8 then 9 c=$(($i*$j)) 10 echo -e -n "$j*$i=$ct" 11 fi 12 done 13 echo 14 done ~ [[email?protected] day3]# bash 9*9.sh 1*1=1 2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9 2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45 6*6=36 7*6=42 8*6=48 9*6=54 7*7=49 8*7=56 9*7=63 8*8=64 9*8=72 9*9=81 # cat 99.sh #!/bin/bash awk ‘BEGIN{ for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf" %d*%d=%-2d ",j,i,j*i ####用%-2d使输出的更美观. print } }‘ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- bower bootstrap-sass和bootstrap-sass-official之间有什么
- 收集关于angular的一些常见问题 总结
- twitter-bootstrap – 在Laravel 4中使用Bootstrap的最佳方
- Rancher 添加主机无法显示、添加主机无效的解决办法
- 50 个 Bootstrap 插件(收藏备用)
- scala – 在Spark中重新组合/连接DataFrame行
- unix – 如何在SFTP中传输二进制文件?
- angularjs – 改变控制器内的模型对象以操纵DOM – 角度js-
- [译] 别再对 Angular 表单的 ControlValueAccessor 感到迷惑
- AngularJS翻译:格式化动态日期