Shell经典编程题


Shell经典编程题

一、求和

1、for循环求和

#!/bin/bash
read n
sum=0
for ((i=1;i<=n;i++))
do
	sum=$(($sum+$i))
done
echo "1-$n的和:$sum"

2、while循环求和

#!/bin/bash
read n
sum=0
i=1
while (($i<=$n))
do
	sum=$((sum+i))
	i=$((i+1))
done
echo "1-$n的和:" $sum

二、求阶乘

#!/bin/bash
fac=1
read -p "请输入一个整数:" num
for (( i=1;i<=$num;i++ ))
do
        fac=$(($fac*$i))
done
echo "$num的阶乘是:$fac"

三、求最大值

#!/bin/bash
read -p "请输入三个数:" n1 n2 n3
max=$n1
if (($n2>$max))
then

fi	max=$n2
if (($n3>$max))
then
	max=$n3
fi
echo "max=$max"

四、九九乘法表

#!/bin/bash
for((i=1;i<=9;i++))
do
        for((j=1;j<=i;j++))
        do
                s=$(($i*$j))
                echo -ne "$i*$j=$s\t"
        done
        echo
done

五、求素数

#!/bin/bash
read -p "要打印几以内的素数:" n
for (( i=2;i<=$n;i++ ))
do
        for (( j=2;j<=$i;j++ ))
        do
                n1=$(($i%$j))
                if (($n1==0))
                then
                        t=$j
                        break
                fi
        done
        if (($t==$i))
        then
                echo -n "$i "
        fi
done
echo

六、定义与输出数组

1、for循环输出数组

#!/bin/bash
array=(1 2 3 4 5)
for num in ${array[@]} #获取数组索引0-4
do
        echo $num
done

2、while循环输出数组

#!/bin/bash
array=(1 2 3 4 5)
length=${#array[@]}	 #获取数组长度
i=0
while(($i<$length))
do
        echo ${array[i]}	#输出索引i对应的值
        let "i++"
done

七、创建文件

#!/bin/bash
if [[ ! -f "abc.sh" ]]
	then
		touch abc.sh
	else
		echo "File already exist"
	fi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值