编写c语音程序求出三个整数中的最大值、最小值及平均值,要求三个整数在main函数中输入,最大值,最小值及平均值由函数求出,要求分别用以下三种方式实现主调函数与被调函数之间的数据传递:引用调用
时间: 2023-05-23 14:04:52 浏览: 60
、指针调用和值调用。
以下是代码示例:
引用调用方式:
#include <stdio.h>
void getMaxMinAvg(int &a, int &b, int &c, int &max, int &min, double &avg)
{
max = a > b ? (a > c ? a : c) : (b > c ? b : c);
min = a < b ? (a < c ? a : c) : (b < c ? b : c);
avg = (a + b + c) / 3.0;
}
int main()
{
int a, b, c, max, min;
double avg;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
getMaxMinAvg(a, b, c, max, min, avg);
printf("最大值:%d\n最小值:%d\n平均值:%f\n", max, min, avg);
return 0;
}
指针调用方式:
#include <stdio.h>
void getMaxMinAvg(int *a, int *b, int *c, int *max, int *min, double *avg)
{
*max = *a > *b ? (*a > *c ? *a : *c) : (*b > *c ? *b : *c);
*min = *a < *b ? (*a < *c ? *a : *c) : (*b < *c ? *b : *c);
*avg = (*a + *b + *c) / 3.0;
}
int main()
{
int a, b, c, max, min;
double avg;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
getMaxMinAvg(&a, &b, &c, &max, &min, &avg);
printf("最大值:%d\n最小值:%d\n平均值:%f\n", max, min, avg);
return 0;
}
值调用方式:
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int *max, int *min, double *avg)
{
*max = a > b ? (a > c ? a : c) : (b > c ? b : c);
*min = a < b ? (a < c ? a : c) : (b < c ? b : c);
*avg = (a + b + c) / 3.0;
}
int main()
{
int a, b, c, max, min;
double avg;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
getMaxMinAvg(a, b, c, &max, &min, &avg);
printf("最大值:%d\n最小值:%d\n平均值:%f\n", max, min, avg);
return 0;
}
阅读全文