【发布时间】:2015-01-17 17:08:16
【问题描述】:
我需要这个函数来打印出输入到数组中的所有值的最大值、最小值和平均值。我遇到了程序只会打印出为数组输入的最后一个值的问题。前任。如果我输入 43、78 和 23,它只会打印平均值、最大值和最小值的 23。我做错了什么来得到这个输出?
#include <iostream>
using namespace std;
float temptotal = 0;
float averagetemp = 0;
float temperatures[50];
float average();
void highest();
void lowest();
int main()
{
average();
highest();
lowest();
}
float average()
{
float days = 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];
averagetemp = (temptotal / days);
cout << "The average temperature is: " << averagetemp << endl;
return temperatures[50];
}
void highest()
{
float max = -9999999999999;
if (temperatures[50] > max)
max = temperatures[50];
cout << "The highest temperature is: " << max << endl;
}
void lowest()
{
float min = 9999999999999;
if (temperatures[50] < min)
min = temperatures[50];
cout << "The lowest temperature is: " << min << endl;
}
【问题讨论】:
标签: arrays function max average min