输入一个数字,实现数字的逆置(不使用字符串截取的方式)
3425---->5243
#!/bin/bash
read -p "请输入一个数字:" num
#先初始化逆置后的数字为0
reversed=0
#当原始数字不为0时,循环进行逆置操作
while [ $num -ne 0]
do
#获取原始数字的个位数字
digit=$((num%10))
#将个位数字添加到逆置数字的末尾
reversed=$((reversed*10+digit))
#去掉原始数字的个位数字
num=$((num/10))
done
#输出逆置后的数字
echo "逆置后的数字为:$reversed"
请打印九九乘法表
#!/bin/bash
# 外层循环控制行数
for ((i=1;i<=9;i++))
do
#内层循环控制列数
for ((j=1;j<=i;j++))
do
#打印乘法表达式和结果,使用制表符\t进行对齐
echo -n -e "$j*$i=$((i*j)) "
done
#每行打印后换行
echo
done
请使用shell实现冒泡排序
#!/bin/bash
#先声明一个全局数组变量
declare -a global_array
#冒泡排序函数,直接操作全局数组
bubble_sort()
{
local len = ${#global_array[@]}
local i j tmp
for ((i=0;i<$((len-1));i++))
do
for((j=0;j<$((len-i-1));j++))
do
if (( ${global_array[j]} > ${global_array[j+i]} ))
then
# 交换两个元素的位置
tmp=${global_array[j]}
global_array[j]=${global_array[j+1]}
global_array[j+1]=$tmp
fi
done
done
}
# 读取用户输入的数组长度
echo "请输入数组的长度: "
read length
# 读取用户输入的数组元素
echo "请输入数组的元素,以空格分隔: "
for ((i=0; i<$length; i++))
do
read -p "元素[$i]: " element
global_array[$i]=$element
done
# 输出原始数组
echo "原始数组: ${global_array[@]}"
# 调用冒泡排序函数
bubble_sort
# 输出排序后的数组
echo "排序后的数组: ${global_array[@]}"