gpt4 book ai didi

c++ - 我怎样才能找到这个数组中的最高值和最低值?

转载 作者:行者123 更新时间:2023-11-28 06:34:16 25 4
gpt4 key购买 nike

我可以使用什么代码来打印出用户在此数组中输入的最高值和最低值?该程序需要取用户输入的平均值(我已经这样做了)。现在我需要做的就是让程序打印出用户输入的最高值和最低值。

#include <iostream>
using namespace std;
int main()
{
float days = 0;
float temperatures [50];
float temptotal = 0;
float average = 0;
cout << "Enter the number of days: ";
cin >> days;
if (days > 50)
{
cout << "You may only enter temperatures for 50 days." << endl;
return 0;
}
for (int i = 1; i <= days; i++)
{
cout << "Enter the temperature for day number " << i << ": ";
cin >> temperatures[50];
temptotal += temperatures[50];
}
average = (temptotal / days);
cout << "The temperature average is: " << average << endl;
return 0;
}

最佳答案

有很多方法可以做到这一点。但一个简单的方法是检查添加到数组的当前值是否是最低/最高。首先,您需要假设最小值对应一个非常大的数字,最大值对应一个非常小的数字。

float min = 9999999999999;
float max = -9999999999999;

在此之后,您可以比较该值是低于最小值还是高于最大值。由于初始值与预期值相反,因此第一个值将设置为最小值和最大值,然后将其他值与该值进行比较。通过这样做,您将仅保留最低和最高值。

if(temperatures[i] > max)
max = temperatures[i];
if(temperatures[i] < min)
min = temperatures[i];

如果你注意到了,我使用了 temparatures[i] .如果您总是在索引 50 处添加用户输入的值,那么您总是会覆盖最后输入的值。此外,数组的索引通常从 0 而不是 1 开始,因此您的 for 循环将如下所示:for (int i = 0; i < days; i++) .

我编辑了你的代码,这就是我最终得到的:

#include <iostream>
using namespace std;
int main()
{
float days = 0;
float temperatures [50];
float temptotal = 0;
float average = 0;
cout << "Enter the number of days: ";
cin >> days;
if (days > 50)
{
cout << "You may only enter temperatures for 50 days max." << endl;
return 0;
}
float min = 9999999999999;
float max = -9999999999999;
for (int i = 0; i < days; i++)
{
cout << "Enter the temperature for day number " << i << ": ";
cin >> temperatures[i];
temptotal += temperatures[i];

if(temperatures[i] > max)
max = temperatures[i];
if(temperatures[i] < min)
min = temperatures[i];
}

average = (temptotal / days);
cout << "The temperature average is: " << average << endl;
cout << "The highest temperature is: " << max << endl;
cout << "The lowest temperature is: " << min << endl;


return 0;
}

希望对您有所帮助!

关于c++ - 我怎样才能找到这个数组中的最高值和最低值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27007837/

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