C++求N个数中的最大值

C++求N个数中的最大值,第1张

一、算法思想

假设N个数存储在一维数组中,令第一个数为最大值,从第二个数开始逐个和当前最大值进行比较,若比当前最大值大,则用它替换当前最大值。最后保存的最大值即为N个数中的最大值。

二、 *** 作过程

        49    38    65    97    76    13    27    49            max = 49

               ^

        49    38    65    97    76    13    27    49            max = 65

                     ^

        49    38    65    97    76    13    27    49            max = 97

                           ^

        49    38    65    97    76    13    27    49            max = 97

                                 ^

        49    38    65    97    76    13    27    49            max = 97

                                       ^

        49    38    65    97    76    13    27    49            max = 97

                                             ^

        49    38    65    97    76    13    27    49            max = 97

                                                   ^

        max = 97

三、程序代码

#include <iostream>

using namespace std 

//返回数组中元素的最大值

//arr:数组

//n:数组大小

//返回n个数组元素的最大值

int max(int arr[], int n)

{

int maxValue = arr[0]

for(int i=1 i<n i++)

{

if(arr[i] > maxValue)

{

maxValue = arr[i]

}

}

return maxValue

}

int main() 

{

int arr[] = {49, 38, 65, 97, 76, 13, 27, 49}

int n = 8

cout<<"最大值:"<<max(arr, n)<<endl

return 0

}

四、运行测试

用于查找数组中最高值(其实就是最大值,但是为对应源代码中的 highest,故仍称为最高值)和最低值(其实就是最小值,但是为对应源代码中的 lowest,故仍称为最低值)的算法非常相似。首先,来看一下在数组中寻找最高值的代码。假设在程序中出现了以下语句。

const int SIZE = 10

int numbers[SIZE] = {15, 6, 3, 11, 22, 4, 0, 1, 9, 12}

查找数组中最高值的代码如下所示:

int count

int highest

highest = numbers[0]

for (count = 1count <SIZEcount++)

{

if (numbers[count] >highest)

highest = numbers[count]

}

首先,该语句将第一个数组元素中的值复制到名为 highest 的变量中。然后,循环将从下标 1 开始的所有其余数组元素与存储在 highest 中的值进行比较。每次当它发现数组元素中的值大于 highest 中的值时,都会将其复制到 highest。循环完成后,highest 将包含数组中最的值。

以下代码将找到数组中的最低值。对比之后可以发现,它与查找最高值的代码几乎相同。

int count

int lowest

lowest = numbers[0]

for (count = 1count <SIZE:count++)

{

if (numbers[count] <lowest)

lowest = numbers[count]

}

当循环完成后,lowest 将包含数组中的最低值。


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

原文地址: http://outofmemory.cn/yw/11140528.html

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

发表评论

登录后才能评论

评论列表(0条)

保存