linux shell 脚本 求任意10个数的最大值。(使用数组)

linux shell 脚本 求任意10个数的最大值。(使用数组),第1张

读取10个数字存入数组

然后使用一个变量max将它的初始值设置为数组中第一个元素的值

接着从数组中第二个元素开始遍历整个数组

如果某个元素的值大于max则将max设置为该值

如此遍历完整个数组后max中便是整个数组中最大的值

下面是一个简单的示例代码

#!/bin/bash 

echo -n '输入10个数:'

read -a a

max=${a[0]}

for i in {1..9}

do

    if [ ${a[$i]} > $max ]

    then

        max=${a[$i]}

    fi

done

echo "最大值为: $max"

exit 0

数组下标在C中并没有做明确约定。

本质上取决于你可以分配的数组大小。

对于局部数组,取决于栈空间大小。

对于全局数组,取决于堆空间,也就是系统剩余内存大小。

当然 这个说的是合法范围。如果在越界情况下,那数组下标最大值,就是你当前系统支持的最大整数值。

(test1.c)

#include <stdio.h>

void func1(int *arr, int n, int *max_num, int *min_num) {

      if (n == 0) return

      *min_num = *max_num = arr[0]

      if (n == 1) return

      for (int i = 0i <ni++) {

              if (arr[i] >*max_num) *max_num = arr[i]

              if (arr[i] <*min_num) *min_num = arr[i]

      }

}

int main() {

      int arr[] = {1,2,3,4,5}

      int min_num, max_num

      func1(arr, 5, &max_num, &min_num)

      printf("min=%d, max=%d\n", min_num, max_num)

      return 0

}

(Makefile)

test1.out: test1.c

      gcc test1.c -o test1.out


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8589380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存