python求数组最小值和最大值_C++求数组中的最大值和最小值(带源码)

用于查找数组中最高值(其实就是最大值,但是为对应源代码中的 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 = 1; count < SIZE; count++)

{

if (numbers[count] > highest)

highest = numbers[count];

}

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

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

int count;

int lowest;

lowest = numbers[0];

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

{

if (numbers[count] < lowest);

lowest = numbers[count];

}

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

下面的程序将创建月度销售报告,它演示了查找数组中总和、平均值、最高值和最低值的算法。它将算法结合起来,在一个循环中即可找到最高值和最低值。用于填充数组的销售数据是从 sales.dat 文件中读取的,该文件包含以下值:

62458 81598 98745 53460 35678 86322

89920 78960 124569 43550 45679 98750

实现代码为:

#include

#include // Needed to use files

#include

using namespace std;

int main()

{

const int NUM_OFFICES = 12;

ifstream dataIn;

int office; // Loop counter

double sales[NUM_OFFICES], // Array to hold the sales data

totalSales = 0.0, // Accumulator initialized to zero

averageSales,

highestSales,

lowestSales;

// Open the data file

dataIn.open("sales.dat");

if (!dataIn)

cout << "Error opening data file.\n";

else

{

//Fill the array with data from the file

for (office = 0; office < NUM_OFFICES; office++)

dataIn >> sales[office];

dataIn.close();

// Sum all the array elements

for (office = 0; office < NUM_OFFICES; office++)

totalSales += sales[office];

// Calculate average sales

averageSales = totalSales / NUM_OFFICES;

//Find highest and lowest sales amounts

highestSales = lowestSales = sales[0];

for (office = 1; office < NUM_OFFICES; office++)

{

if (sales[office] > highestSales)

highestSales = sales[office];

else if (sales[office] < lowestSales)

lowestSales = sales[office];

}

// Display results

cout << fixed << showpoint << setprecision(2);

cout << "Total sales $" << setw (9) << totalSales << endl;

cout << "Average sales $" << setw(9) << averageSales << endl;

cout << "Highest sales $" << setw(9) << highestSales << endl;

cout << "Lowest sales $" << setw (9) << lowestSales << endl;

}

return 0;

}

程序输出结果为:

Total sales $899689.00

Average sales $ 74974.08

Highest sales $124569.00

Lowest sales $ 35678.00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值