C++ 如何创建一个函数来计算并返回平均值、最大值和最小值?
这就是我要做的,我想创建一个函数,它将计算并返回(使用旁路引用)平均值、最大值和最小值。有点新的C++,所以我非常感谢帮助。 这正是我想要做的:C++ 如何创建一个函数来计算并返回平均值、最大值和最小值?,c++,function,loops,C++,Function,Loops,这就是我要做的,我想创建一个函数,它将计算并返回(使用旁路引用)平均值、最大值和最小值。有点新的C++,所以我非常感谢帮助。 这正是我想要做的: 程序描述了它应该做什么 提示用户输入介于1和10之间的数字,然后用正浮点数填充数组 使用函数输出浮点数组的内容 使用函数计算浮点数组的平均值、最大值和最小值。这些值在传递引用变量中返回 输出计算值 如果用户在任何时候输入了无效的输入,请再次提示他们 安全终止 代码如下: //include go here #include <cstdio&g
- 程序描述了它应该做什么
- 提示用户输入介于1和10之间的数字,然后用正浮点数填充数组
- 使用函数输出浮点数组的内容
- 使用函数计算浮点数组的平均值、最大值和最小值。这些值在传递引用变量中返回
- 输出计算值
- 如果用户在任何时候输入了无效的输入,请再次提示他们
- 安全终止
//include go here
#include <cstdio>
#include <iostream>
#include <cfloat>
using namespace std;
//Constants go here
const int MAX = 10;
const int MIN = 1
//outputs overview of program to user
void displayOverview();
//prompts user to enter a number between min and max and return it
//validated using a loop
int getIntInRange(int min, int max);
//prompts user to enter a floating point number that is > 0
//validated using a loop
float getPositiveFloat();
//prompts user for size of array (< size)
//fills nums with that many floating point values
int fillArray(float nums[], int size);
//outputs the array
void printArray (float arr[], int Size);
//Computes and returns the mean, maximum, and minimum
void computesValues(float arrr[], int size, float &mean, float &max, float &min);
int main(){
displayOverview();
float myArr[MAX];
int size = fillArray(myArr, MAX);
return 0;
}
//Prompt user to enter a number between Min and max
//If user entered a number within the range, is valid is true
//If user entered a number not within min and max, output sorry not in range
int getIntInRange(int min, int max){
int userInput = -1;
bool isValid = false;
while(!isValid){
printf("Please enter an integer between %d and %d\n", min, max);
scanf("%d", &userInput);
if(min <= userInput && userInput <= max){
isValid = true;
}else{
printf("Sorry, that is not in range\n Please try again\n");
}
}
return userInput;
}
//int numVals
int fillArray(float nums[], int size){
int numVals = getIntInRange(MIN, MAX);
for(int i=0; i< numVals&& i<size ; i++){
nums[i] = getPositiveFloat();
}
return numVals;
}
//Prompt user to enter a positive number
//if User enters a number that is not positive, output "Not a Positive"
float getPositiveFloat(){
float input;
do{
cout << "Please enter a positive number\n";
cin >> input;
if(!(input>0)){
cout << "Not a positive!\n";
}
}while(!(input>0));
return input;
}
//Introduction to the program
void displayOverview(){
cout << "Welcome to my program. You will see how magically I can compute things " <<
"from numbers!!" << endl;
}
//Print an array
void printArray(float arr[], int size){
for (int i = 0; i<size; i++){
cout << arr[i] << " ";
}
}
//Compute Min, max and mean.
void computesValues (float arr[], int size, float &mean, float &max, float &min){
}
//包括转到此处
#包括
#包括
#包括
使用名称空间std;
//常数在这里
常数int MAX=10;
常数int MIN=1
//向用户输出程序概述
void displayOverview();
//提示用户输入一个介于最小值和最大值之间的数字并返回它
//使用循环进行验证
int getIntInRange(int最小值,int最大值);
//提示用户输入大于0的浮点数
//使用循环进行验证
float getPositiveFloat();
//提示用户输入数组的大小(无效值)计算值(浮点arr[],整数大小,浮点和平均值,浮点和最大值,浮点和最小值)
{
浮动总和=0.0;
对于(int i=0;i
void computesValues (float arr[], int size, float &mean, float &max, float &min)
{
float sum = 0.0;
for (int i = 0; i<size; i++){
sum = sum+ arr[i];
}
mean = sum/size;
max = arr[0];
for (int i = 1; i<size; i++){
if(arr[i] > max)
max = arr[i];
}
min = arr[0];
for (int i = 1; i<size; i++){
if(arr[i] < min)
min = arr[i];
}
printf("mean = %f max = %f min = %f\n", mean, max, min);
}