用C++编写程序求出三个整数中的最大值、最小值及平均值,要求三个整数在main函数中输入,最大值、最小值及平均值由函数求出。要求以下三种方式实现主调函数与被调函数之间的数据传递:①值调用;②引用调用;③用全局变量。
时间: 2023-05-25 18:02:07 浏览: 103
值调用方式实现:
```c
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int *max, int *min, float *avg);
int main()
{
int a, b, c, max, min;
float avg;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg(a, b, c, &max, &min, &avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg(int a, int b, int c, int *max, int *min, float *avg)
{
*max = a;
*min = a;
*avg = (a + b + c) / 3.0;
if (b > *max)
{
*max = b;
}
if (c > *max)
{
*max = c;
}
if (b < *min)
{
*min = b;
}
if (c < *min)
{
*min = c;
}
}
```
引用调用方式实现:
```c
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int &max, int &min, float &avg);
int main()
{
int a, b, c, max, min;
float avg;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg(a, b, c, max, min, avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg(int a, int b, int c, int &max, int &min, float &avg)
{
max = a;
min = a;
avg = (a + b + c) / 3.0;
if (b > max)
{
max = b;
}
if (c > max)
{
max = c;
}
if (b < min)
{
min = b;
}
if (c < min)
{
min = c;
}
}
```
全局变量方式实现:
```c
#include <stdio.h>
int a, b, c, max, min;
float avg;
void getMaxMinAvg();
int main()
{
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg();
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg()
{
max = a;
min = a;
avg = (a + b + c) / 3.0;
if (b > max)
{
max = b;
}
if (c > max)
{
max = c;
}
if (b < min)
{
min = b;
}
if (c < min)
{
min = c;
}
}
```
阅读全文