题目
练习1:学生成绩管理:用case-in实现
从外部输入一个学习成绩,范围为0 – 100,
成绩大于等于90分,则输出A,
成绩大于等于80,则输出B,
成绩大于等于60,则输出C,
小于60,则输出D
练习2:实现四则运算,终端输入4+2 ,得到结果为6. 4*2,得到结果为8.....
练习3:从终端输入一串字符,判断字符a的个数。提示:结合字符串截取命令,一次截取一个判断是否等于a:
练习4:打印99乘法表
1 x 1 = 1
2 x 1 = 2 2 x 2 = 4
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9
……
练习1:学生成绩管理:用case-in实现
从外部输入一个学习成绩,范围为0 – 100,
成绩大于等于90分,则输出A,
成绩大于等于80,则输出B,
成绩大于等于60,则输出C,
小于60,则输出D
#!/bin/bash #输入一个学生成绩,判断等级 read -p "请输入一个学生成绩(整数):" score if [ $score -ge 0 -a $score -le 101 ] then b=$((score/10)) case $b in 9|10) echo "A" ;; 8) echo "B" ;; [6-7]) echo "C" ;; [0-5]) echo "D" ;; esac else echo $score输入错误 fi
结果:
练习2:实现四则运算,终端输入4+2 ,得到结果为6. 4*2,得到结果为8.....
#!/bin/bash #用case-in写四则运算 read -p "请输入需要计算的式子:" num1 ope num2 case $ope in "+") num=$(($num1+$num2)) echo $num ;; "-") num=$(($num1-$num2)) echo $num ;; "*") num=$(($num1*$num2)) echo $num ;; "/") num=$(($num1/$num2)) echo $num ;; esac
结果:
练习3:从终端输入一串字符,判断字符a的个数。提示:结合字符串截取命令,一次截取一个判断是否等于a:
#!/bin/bash read -p "请输入一串字符:" var j=${#var} i=0 count=0 k=0 for ((i=0;i<j;i++)) do k=${var:i:1} if [ "$k" = "a" ] then count=$((count+1)) fi done echo "字符串中'a'的个数为:$count"
结果:
练习4:打印99乘法表
1 x 1 = 1
2 x 1 = 2 2 x 2 = 4
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9
……
#!/bin/bash i=1 j=1 for ((i=1;i<10;i++)) do for ((j=1;j<=i;j++)) do echo -en "$j*$i= $((i*j))\t" done echo done
结果: