用c语言编写函数实现void fun(int a,int b ,int *pmax,int *pmin,float *pav) ,求出a,b的最大值和最小值、平均值通过指针返回;
时间: 2023-08-16 21:05:45 浏览: 165
下面是实现该函数的代码:
```c
void fun(int a, int b, int *pmax, int *pmin, float *pav)
{
*pmax = (a > b) ? a : b; // 求最大值
*pmin = (a < b) ? a : b; // 求最小值
*pav = (a + b) / 2.0f; // 求平均值
}
```
该函数接受三个输入参数:整数a和b,以及三个指针变量pmax、pmin和pav。
该函数通过指针返回a和b的最大值和最小值,分别存储在*pmax和*pmin中。
该函数还通过指针返回a和b的平均值,存储在*pav中。
使用该函数的示例代码如下:
```c
int main()
{
int a = 10, b = 20;
int max, min;
float avg;
fun(a, b, &max, &min, &avg);
printf("a = %d, b = %d\n", a, b);
printf("max = %d, min = %d, avg = %f\n", max, min, avg);
return 0;
}
```
输出结果为:
```
a = 10, b = 20
max = 20, min = 10, avg = 15.000000
```
相关问题
利用指针实现求一组整数的最大值和最小值。 参考:编写函数void Input(int a1)实现一组整数的输入,编写函数int Maxmin(int al.,int*pmax,int*pmin)实现求一组整数的最大值和最小值。
在C语言中,你可以通过利用指针来实现这个功能。首先,我们需要定义两个指针`pmax`和`pmin`,它们分别指向整数数组中的最大值和最小值的位置。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void input(int arr[], int n);
void maxmin(int arr[], int n, int* pmax, int* pmin);
// 主函数
int main() {
int a[100], pmax, pmin;
int n;
// 输入整数
printf("Enter the number of elements: ");
scanf("%d", &n);
input(a, n);
// 初始化最大值和最小值指针
*pmax = a[0];
*pmin = a[0];
// 调用函数计算并更新最大值和最小值
maxmin(a, n, &pmax, &pmin);
printf("The maximum value is: %d\n", *pmax);
printf("The minimum value is: %d\n", *pmin);
return 0;
}
// 输入函数
void input(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("Enter element %d: ", i+1);
scanf("%d", &arr[i]);
}
}
// 求最大值和最小值的函数
void maxmin(int arr[], int n, int* pmax, int* pmin) {
for (int i = 1; i < n; i++) {
if (arr[i] > *pmax) {
*pmax = arr[i]; // 如果当前元素大于已知最大值,则更新最大值指针
}
if (arr[i] < *pmin) {
*pmin = arr[i]; // 同理,如果当前元素小于已知最小值,则更新最小值指针
}
}
}
```
在这个例子中,`input`函数用于获取用户输入的整数,而`maxmin`函数则遍历数组,通过比较找到最大值和最小值,并通过指针存储结果。
求一组数中的最大值、最小值及总和。要求定义函数 int f(int a[],int n,int *pmax,int *pmin) 函数返回总和,并分别通过指针pmax 和 pmin将最大值、最小值赋值给主函数中的对应变量。C语言
好的,以下是实现代码:
```c
#include <stdio.h>
int f(int a[], int n, int *pmax, int *pmin) {
int sum = 0;
*pmax = a[0];
*pmin = a[0];
for (int i = 0; i < n; i++) {
sum += a[i];
if (a[i] > *pmax) {
*pmax = a[i];
}
if (a[i] < *pmin) {
*pmin = a[i];
}
}
return sum;
}
int main() {
int a[] = {1, 2, 3, 4, 5};
int n = 5;
int max, min;
int sum = f(a, n, &max, &min);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("总和为:%d\n", sum);
return 0;
}
```
这里定义了一个函数 `f`,接收一个整型数组 `a`、数组长度 `n`,以及两个指向整型变量的指针 `pmax` 和 `pmin`。函数返回数组中所有元素的总和,并将最大值和最小值通过指针赋值给主函数中的变量 `max` 和 `min`。
在主函数中,我们传递数组 `a`、数组长度 `n`、以及指向 `max` 和 `min` 的指针,然后输出最大值、最小值和总和。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)