用c语言编写函数计算数组a中的所有数据的最大值及最小值以及它们的差
时间: 2024-02-18 19:04:38 浏览: 28
好的,以下是用 C 语言编写的函数,可以计算数组a中的所有数据的最大值、最小值及它们的差:
```c
#include <stdio.h>
void calc_max_min_diff(int a[], int size, int *max_val, int *min_val, int *diff) {
int i;
*max_val = a[0];
*min_val = a[0];
for (i = 1; i < size; i++) {
if (a[i] > *max_val) {
*max_val = a[i];
}
if (a[i] < *min_val) {
*min_val = a[i];
}
}
*diff = *max_val - *min_val;
}
int main() {
int a[] = {1, 5, 3, 9, 2, 7, 4, 8, 6};
int size = sizeof(a) / sizeof(int);
int max_val, min_val, diff;
calc_max_min_diff(a, size, &max_val, &min_val, &diff);
printf("最大值为:%d\n", max_val);
printf("最小值为:%d\n", min_val);
printf("它们的差为:%d\n", diff);
return 0;
}
```
在这个代码中,我们定义了一个名为 `calc_max_min_diff` 的函数,它接受一个整型数组 `a`、数组大小 `size`,以及三个指向整型变量的指针 `max_val`、`min_val` 和 `diff`。
函数内部使用一个 for 循环遍历整个数组,找到最大值和最小值,然后计算它们的差,并将结果存储在 `max_val`、`min_val` 和 `diff` 变量中。
在主函数中,我们定义了一个整型数组 `a`,然后使用 `sizeof` 运算符计算数组的大小,调用 `calc_max_min_diff` 函数计算最大值、最小值及它们的差,并将结果打印输出。
希望这个 C 语言代码可以帮助到你。如果你还有其他问题,可以继续问我。