2.17作业

本文介绍了六个Bashshell脚本实例,包括字符类型判断、闰年判断、水仙花数查找、稀疏数组求和、文件类型计数以及冒泡排序,展示了基础的编程技巧和逻辑处理。
摘要由CSDN通过智能技术生成

1.终端输入一个字符,判断是大写字母小写字母还是数字字符。
 

#!/bin/bash
read -p "输入一个字符" var
case $var in
	[[:lower:]])
		echo 小写字母
		;;
	[[:upper:]])
		echo 大写字母
		;;
	[1-9])
		echo 数字字符
		;;
	*)
		echo "other"
esac

2.终端输入年月,需要考虑闰平年,判断该月有多少天(2月闰年29天,平年28天)

#!/bin/bash
read -p "输入年" year
read -p "输入月" month
er=28
if test $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0
then
	echo ${year}是闰年
	er=29
else
	echo ${year}是平年
fi
case $month in
	1|3|5|7|8|10|12)
		echo 该月有31天
		;;
	2)
		echo 该月有${er}天
		;;
	4|6|9|11)
		echo 该月有30天
		;;
	*)
		echo 输入错误
esac	

3.使用循环求100-1000内的水仙花数

#!/bin/bash
for((i=100;i<1000;i++))
do
	((ge=$i%10))
	((shi=$i%100/10))
	((bai=$i/100))
	if test $((ge**3+shi**3+bai**3)) -eq $i
	then
		echo $i
	fi
done

4.求稀疏数组中元素的和(下标不连续)

#!/bin/bash
arr=([0]=15 [5]=53 [7]=41 [9]=3 [15]=9)
i=0
for i in ${arr[*]}
do
	((sum+=i))
done
echo $sum

5.使用循环求家目录下目录文件和普通文件的个数

#!/bin/bash
sum1=0
sum2=0
i=0
for i in `ls ~`
do
	if test -d ~/$i
	then
		((sum1++))
	fi
	if test -f ~/$i
	then
		((sum2++))
	fi
done
echo 目录文件有$sum1个
echo 普通文件有$sum2个

6.用shell写冒泡排序

#!/bin/bash
read -p "输入数字" -a arr
i=0
j=0
temp=0
len=${#arr[*]}
for((i=1;i<len;i++))
do
	for((j=0;j<len-i;j++))
	do
		if test ${arr[j]} -gt ${arr[j+1]}
		then
			temp=${arr[j]}
			arr[j]=${arr[j+1]}
			arr[j+1]=$temp
		fi
	done
done
echo ${arr[*]}

7.终端输入学生成绩,判断等级100-90A,90-80B,80-70C,70-60D,60以下不及格。(把输入不合理也考虑进去)

#!/bin/bash
read -p "输入成绩" var
if test $var -ge 0 -a $var -le 100
then
	case $var in
		9?|1??)
			echo A
			;;
		8?)
			echo B
			;;
		7?)
			echo C
			;;
		6?)
			echo D
			;;
		*)
			echo 不及格
	esac
else 
	echo 不合理
fi

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值