-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAvgMaxMin.sh
66 lines (58 loc) · 969 Bytes
/
AvgMaxMin.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
max()
{
n=$1
maxi=`expr $n % 10`
while [ $n -gt 0 ]
do
rem=`expr $n % 10`
if [ $rem -gt $maxi ]
then
maxi=$rem
fi
n=`expr $n / 10`
done
return $maxi
}
min()
{
n=$1
mini=`expr $n % 10`
while [ $n -gt 0 ]
do
rem=`expr $n % 10`
if [ $rem -lt $mini ]
then
mini=$rem
fi
n=`expr $n / 10`
done
return $mini
}
avg()
{
n=$1
sum=0
cnt=0
while [ $n -gt 0 ]
do
rem=`expr $n % 10`
sum=`expr $sum + $rem`
n=`expr $n / 10`
cnt=`expr $cnt + 1`
done
average=`echo "$sum / $cnt" |bc -l`
echo "average of $num = $average"
}
echo "Enter number- "
read num
echo "Enter Operation-\n1.Max\n2.Min\n3.Average- "
read ch
case $ch in
1) max $num
echo "max of $num = $?" ;;
2) min $num
echo "min of $num = $?" ;;
3) avg $num ;;
*) echo "wrong choice"
esac