Shell循环脚本编写(练习题)

一、计算从1到100所有整数的和

for循环方法:

#!/bin/bash
sum=0
for (( i=1; i<=100; i++  ))
do
let sum=$i+$sum

done
echo $sum

while循环方法:

#!/bin/bash
a=1
b=100
sum=0
while [[ $a -le $b ]]
do
let sum=$a+$sum
let a++
done
echo $sum

二、提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

for循环方法:

#!/bin/bash
sum=0
b=1
read -p "请输入小于100的整数" w
for (( i=0; i<$w; i++  ))
do
let sum=$b+$sum
let b++
done
echo $sum

while循环方法:

#!/bin/bash
sum=0
a=0
read -p "请输入一个小于100的整数" w
while [ $a -le $w  ]
do
let sum=$a+$sum
let a++
done
echo $sum 

三、求从1到100所有整数的偶数和、奇数和

for循环方法:

#!/bin/bash
os=0
js=0
 for ((i=1; i<=100; i++))
  do
  a=$[$i % 2]
  if [ $a == 0 ]
  then
  let os=$os+$i
  elif [ $a == 1 ]
  then
  let js=$js+$i
  fi
done
  echo "奇数和为$js"
  echo "偶数和为$os"

while循环方法:

#!/bin/bash
os=0
js=0
i=1
while [[ $i -le 100  ]]
  do
  a=$[$i % 2]
  if [ $a == 0 ]
  then
  let os=$os+$i
  elif [ $a == 1 ]
  then
  let js=$js+$i
  fi
let i++
done
  echo "奇数和为$js"
  echo "偶数和为$os"

四、嵌套循环题目:

每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额。

#!/bin/bash
yf=500
kz=400
xz=350
mz=150
wz=50
gwc=0
b=0

echo "欢迎光临本店,请选择你需要的商品"
echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"
while [ $b -eq 0  ]
do
        read -p "请选择您需要的商品:" sp
        if [ $sp -eq "1"  ]
        then
        let gwc=$gwc+$yf
        echo "您当前消费$gwc"
                read -p "您是否需要继续购物(y/n)" gw
                if [ $gw == "n"  ]
                then
                echo "您结算的金额是$gwc"
                break
                fi
        echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"

        elif [ $sp -eq "2" ]
        then
        let gwc=$gwc+$kz
        echo "您当前消费$gwc"
                read -p "您是否需要继续购物(y/n)" gw2
                if [ $gw2 == "n"  ]
                then
                echo "您结算的金额是$gwc"
                break
                fi
        echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"

        elif [ $sp -eq "3" ]
        then
        let gwc=$gwc+$xz
		echo "您当前消费$gwc"
                read -p "您是否需要继续购物(y/n)" gw3
                if [ $gw3 == "n"  ]
                then
                echo "您结算的金额是$gwc"
                break
                fi
        echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"

        elif [ $sp -eq "4" ]
        then
        let gwc=$gwc+$mz
        echo "您当前消费$gwc"
                read -p "您是否需要继续购物(y/n)" gw4
                if [ $gw4 == "n"  ]
                then
                echo "您结算的金额是$gwc"
                break
                fi
        echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"

        elif [ $sp -eq "5" ]
        then
        let gwc=$gwc+$wz
        echo "您当前消费$gwc"
                read -p "您是否需要继续购物(y/n)" gw5
                if [ $gw5 == "n"  ]
                then
                echo "您结算的金额是$gwc"
                break
                fi
        echo "1:衣服500,2:裤子400,3:鞋子350,4:帽子150,5:袜子50"
        fi
done

猜你喜欢

转载自blog.csdn.net/weixin_51468875/article/details/111408280