输入一个数字,实现数字的逆置,不使用字符串截取的方式
代码:
#!/bin/bash
echo number reverse
read -p "please number:" num
t=0
while [ $num -ne 0 ]
do
t=$((t*10+num%10))
((num/=10))
done
echo $t
运行结果:
二、打印九九乘法表
代码:
for((i=1;i<=9;i++))
do
for((j=1;j<=i;j++))
do
if [ $j -eq 2 -a $i -eq 3 -o $j -eq 2 -a $i -eq 4 ]
then
echo -n $j"x"$i=$((i*j))" |"
elif [ $j -eq 2 -a $i -eq 2 -o $j -eq 3 -a $i -eq 3 ]
then
echo -n $j"x"$i=$((i*j))" |"
else
echo -n $j"x"$i=$((i*j))"|"
fi
done
echo
done
运行结果:
三、使用shell实现冒泡排序
代码:
read -p "please enter arr:" -a arr
n=${#arr[*]}
for((i=0;i<n;i++))
do
for((j=0;j<n-1;j++))
do
if [ ${arr[$j]} -gt ${arr[$((j+1))]} ]
then
tem=${arr[$j]}
arr[$j]=${arr[((j+1))]}
arr[$((j+1))]=$tem
fi
done
done
i=0
while [ $i -lt $n ]
do
echo arr[$i]"="${arr[$i]}
((i++))
done
运行结果:
shell思维导图: