gpt4 book ai didi

bash - 在 Linux shell 脚本中,我如何打印数组的最大值和最小值?

转载 作者:行者123 更新时间:2023-11-29 09:06:54 27 4
gpt4 key购买 nike

我不太了解数组,但我需要知道如何查找和打印数组的最大值和最小值。该数组由读取命令预定义,系统将提示用户输入 n 个整数。

我如何将读取的输入分配给数组并找到并显示数组的最大值和最小值?

有没有办法测试数组元素是否都是整数?

#!/bin/bash

read -a integers

biggest=${integers[0]}
smallest=${integers[0]}

for i in ${integers[@]}
do
if [[ $i -gt $biggest ]]
then
biggest="$i"
fi

if [[ $i -lt $smallest ]]
then
smallest="$i"
fi
done

echo "The largest number is $biggest"
echo "The smallest number is $smallest"

最佳答案

一般的想法是遍历数组一次并跟踪到目前为止在每个步骤中看到的 maxmin

内联的一些评论和解释(以#为前缀)

# This is how to declare / initialize an array:
arrayName=(1 2 3 4 5 6 7)

# Use choose first element of array as initial values for min/max;
# (Defensive programming) - this is a language-agnostic 'gotcha' when
# finding min/max ;)
max=${arrayName[0]}
min=${arrayName[0]}

# Loop through all elements in the array
for i in "${arrayName[@]}"
do
# Update max if applicable
if [[ "$i" -gt "$max" ]]; then
max="$i"
fi

# Update min if applicable
if [[ "$i" -lt "$min" ]]; then
min="$i"
fi
done

# Output results:
echo "Max is: $max"
echo "Min is: $min"

关于bash - 在 Linux shell 脚本中,我如何打印数组的最大值和最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com