找出包含20元素的整型数组中的最大值、最小值,并计算数组所有元素的平均值, //按要求完成如下工作: //(1)使用指针作为函数参数设计一个函数实现以上功能 //(2)使用引用作为函数参数设计一个函数实现以上功能 //要求在main函数中使用随机数初始化数组,并在main函数中输出数组的最大值、最小值和平均值
时间: 2023-03-26 12:00:50 浏览: 83
可以回答这个问题。以下是使用指针和引用分别实现的函数:
使用指针作为函数参数的实现:
void getMinMaxAvg(int* arr, int size, int* max, int* min, float* avg) {
*max = *min = arr[];
*avg = ;
for (int i = ; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
*avg += arr[i];
}
*avg /= size;
}
使用引用作为函数参数的实现:
void getMinMaxAvg(int* arr, int size, int& max, int& min, float& avg) {
max = min = arr[];
avg = ;
for (int i = ; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
avg += arr[i];
}
avg /= size;
}
在 main 函数中,可以这样调用函数并输出结果:
int main() {
int arr[20];
srand(time(NULL));
for (int i = ; i < 20; i++) {
arr[i] = rand() % 100;
cout << arr[i] << " ";
}
cout << endl;
int max, min;
float avg;
// 使用指针作为函数参数
getMinMaxAvg(arr, 20, &max, &min, &avg);
cout << "max: " << max << endl;
cout << "min: " << min << endl;
cout << "avg: " << avg << endl;
// 使用引用作为函数参数
getMinMaxAvg(arr, 20, max, min, avg);
cout << "max: " << max << endl;
cout << "min: " << min << endl;
cout << "avg: " << avg << endl;
return ;
}
阅读全文