c语言用值调用求3个整数的最大值,最小值,平均值
时间: 2023-05-23 08:03:05 浏览: 104
求3个整数的最大值,最小值,平均值可以使用C语言进行值调用。
下面是求最大值、最小值、平均值的代码:
```
#include <stdio.h>
void max_min_avg(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;
}
}
int main() {
int a = 10, b = 20, c = 30;
int max, min;
float avg;
max_min_avg(a, b, c, &max, &min, &avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%f\n", avg);
return 0;
}
```
输出结果:
```
最大值为:30
最小值为:10
平均值为:20.000000
```
相关问题
c语言用指针求三个数的最大值最小值和平均值
以下是使用指针求三个数的最大值、最小值和平均值的C语言代码:
```c
#include <stdio.h>
void Score(int b[], int* max, int* min, float* avg) {
int i;
*min = *max = *avg = b[0];
for (i = 1; i < 5; i++) {
if (b[i] < *min) {
*min = b[i];
}
if (b[i] > *max) {
*max = b[i];
}
*avg += b[i];
}
*avg = *avg / 5;
}
int main() {
int a[5], min, max;
float avg;
for (int i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
Score(a, &max, &min, &avg);
printf("max=%d, min=%d, avg=%.1f\n", max, min, avg);
return 0;
}
```
这段代码中,我们定义了一个名为Score的函数,该函数接受一个整型数组b、一个指向最大值的指针max、一个指向最小值的指针min和一个指向平均值的指针avg作为参数。在函数中,我们使用循环遍历整型数组b,找到其中的最大值、最小值,并计算出平均值。最后,我们将最大值、最小值和平均值分别存储到指针max、min和avg所指向的内存地址中。
在main函数中,我们定义了一个名为a的整型数组,用于存储5名学生的成绩。然后,我们使用scanf函数从标准输入中读取5个整数,并将它们存储到数组a中。接着,我们调用Score函数,将数组a和三个指针作为参数传递给它,计算出最大值、最小值和平均值,并将它们打印到标准输出中。
编写c语音程序求出三个整数中的最大值、最小值及平均值,要求三个整数在main函数中输入,最大值,最小值及平均值由函数求出,要求分别用以下三种方式实现主调函数与被调函数之间的数据传递:(1)值调用;)
以下是使用值调用的方式实现主调函数与被调函数之间的数据传递的C语言程序:
```c
#include <stdio.h>
void max_min_avg(int a, int b, int c, int *pmax, int *pmin, float *pavg);
int main(void) {
int num1, num2, num3, max, min;
float avg;
printf("请输入三个整数:");
scanf("%d%d%d", &num1, &num2, &num3);
max_min_avg(num1, num2, num3, &max, &min, &avg);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%.2f\n", avg);
return 0;
}
void max_min_avg(int a, int b, int c, int *pmax, int *pmin, float *pavg) {
*pmax = a;
if (*pmax < b) {
*pmax = b;
}
if (*pmax < c) {
*pmax = c;
}
*pmin = a;
if (*pmin > b) {
*pmin = b;
}
if (*pmin > c) {
*pmin = c;
}
*pavg = (float)(a + b + c) / 3;
}
```
程序首先在主函数中输入三个整数,然后调用max_min_avg函数求出最大值、最小值及平均值。max_min_avg函数中使用指针变量pmax、pmin和pavg分别指向最大值、最小值和平均值,通过值传递的方式将三个整数a、b和c的值传递给函数中。最后,在主函数中打印出求出的最大值、最小值和平均值即可。
阅读全文