Bash之天干地支
2012年03月18日
话说,无论高级语言,脚本语言还是低级语言,循环语句,判断语句都是不可缺少的成分。下面就来看看使用Bash编写的九九乘法表和天干地支表。
闲话少叙,小二,上代码!!!
一、Bash之九九乘法表:双层for循环的嵌套
#!/bin/bash
#1*1 -------> 9*9
i=0
j=0
for i in {1..9}
do
for j in `seq 1 $i` #此处是形成梯形排列的关键,请注意
do
echo -n $j*$i = `expr $i \* $j`
echo -n " "
done
echo
done
二、Bash之天干地支表
数组的完美应用
#!/bin/bash
#----------------天干地支--------------------------
tiangan=(甲 乙 丙 丁 戊 己 庚 辛 壬 癸)
dizhi=(子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥)
declare -i i j
for((i=0; i<=59; i=i+1))
do
echo -n ${tiangan[`expr $i % 10`]}${dizhi[`expr $i % 12`]}
echo -n ' '
j=`expr $i % 10` #此处的取余十分精妙,作者实在忍不住要自恋一下
if [ $j -eq 9 ] ; then
echo ' '
fi
done
之前用while双层循环写九九乘法表,一直有毛病,今天忽而豁然开朗,再贴一段九九乘法表的代码。
#!/bin/bash
#while jiujiuchenfabiao
declare -i i=1
declare -i j=1
declare -i k=0
while (( i<=9 ));
do
let j=1 #之前就死在少了这句话,所以循环不对。诸位看官,以某为鉴,务必戒之!!!
while (( j<=i ));
do
k=$[$i*$j]
echo -n $j*$i = $k
echo -n " "
let j++
done
echo ""
let i++
done
当前暂无评论 »