笔记
作业
1. 输入一个数字,实现数字的逆置(不使用字符串截取的方式)(shell)
如:输入3425,输出5243
#!/bin/bash
read -p "please enter a number:" num1
num2=0
a=$num1
while [ $a -ne 0 ]
do
((num2=num2*10+a%10))
((a/=10))
done
echo $num2
2. 请打印九九乘法表。
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
echo -n $j*$i=$((j*i)) " "
done
echo
done
3. 请使用shell实现冒泡排序。
#!/bin/bash
read -p "please enter array element:" -a arr
len=${#arr[*]}
for ((i=0;i<len-1;i++))
do
flag=0
for ((j=len-1;j>i;j--))
do
if [ ${arr[$j]} -le ${arr[$((j-1))]} ]
then
tmp=${arr[$((j-1))]}
arr[$((j-1))]=${arr[$j]}
arr[$j]=$tmp
flag=1
fi
done
if [ $flag -eq 0 ]
then
break
fi
done
echo ${arr[*]}