如题所述
#!/usr/bin/ksh
cal_id=1
num_count=100
max_num=-99999
second_max_num=-99999
while [ $cal_id -le $num_count ]
do
read line
if [ $line -ge $max_num ] ; then
second_max_num=$max_num
max_num=$line
else
if [ $line -ge $second_max_num ] ; then
second_max_num=$line
fi
fi
cal_id=`expr $cal_id + 1`
done
clear
echo $max_num
echo $second_max_num
应该没什么问题了,你试试看,有问题可以讨论讨论。
cal_id=1
num_count=100
max_num=-99999
second_max_num=-99999
while [ $cal_id -le $num_count ]
do
read line
if [ $line -ge $max_num ] ; then
second_max_num=$max_num
max_num=$line
else
if [ $line -ge $second_max_num ] ; then
second_max_num=$line
fi
fi
cal_id=`expr $cal_id + 1`
done
clear
echo $max_num
echo $second_max_num
应该没什么问题了,你试试看,有问题可以讨论讨论。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-12-28
#!/bin/ksh
FILE=buffer.$$
trap "rm -rf ${FILE}" INT
typeset -i count=0
MAX=100
while [ ${count} -lt ${MAX} ]
do
read buffer
echo ${buffer} >> ${FILE}
count=1+${count}
done
echo "MAX ..."
echo `sort -rn ${FILE}|head -2`
rm -rf ${FILE}
FILE=buffer.$$
trap "rm -rf ${FILE}" INT
typeset -i count=0
MAX=100
while [ ${count} -lt ${MAX} ]
do
read buffer
echo ${buffer} >> ${FILE}
count=1+${count}
done
echo "MAX ..."
echo `sort -rn ${FILE}|head -2`
rm -rf ${FILE}