C语言定义函数void fun(int x[ ],int *max,int *min),找出数组x中的最大值和最小值,最大值和最小值通过形参指针max和min传回。
时间: 2023-06-27 17:07:09 浏览: 187
下面是函数的定义:
```c
void fun(int x[], int *max, int *min) {
*max = *min = x[0]; // 先将第一个元素设为最大值和最小值
for (int i = 1; i < sizeof(x)/sizeof(int); i++) {
if (x[i] > *max) {
*max = x[i]; // 更新最大值
}
if (x[i] < *min) {
*min = x[i]; // 更新最小值
}
}
}
```
函数中首先将数组的第一个元素设为最大值和最小值,然后遍历数组,如果发现更大或更小的元素,就更新最大值和最小值。由于形参max和min是指针类型,所以可以通过对它们所指向的变量进行修改,将最大值和最小值传回函数调用处。
相关问题
C语言定义函数void fun(int x[ ],int *max,int *min),找出数组x中的最大值和最小值,最大值和最小值通过形参指针max和min传回。
下面是一个实现该函数的C语言代码:
```c
void fun(int x[], int *max, int *min) {
int i;
*max = *min = x[0]; // 先将第一个元素作为最大值和最小值
for (i = 1; i < sizeof(x)/sizeof(int); i++) {
if (x[i] > *max) {
*max = x[i]; // 更新最大值
}
if (x[i] < *min) {
*min = x[i]; // 更新最小值
}
}
}
```
在该函数中,我们使用了形参指针max和min来传递最大值和最小值,通过在函数内部更新这些指针所指向的变量的值,来实现将最大值和最小值传回。同时,我们遍历整个数组x,找出其中的最大值和最小值,然后更新max和min指针所指向的变量的值。
用C语言定义函数void fun(int x[ ],int *max,int *min),找出数组x中的最大值 和最小值,其中最大值和最小值通过形参指针max和min传回。
以下是用C语言定义函数void fun(int x[], int *max, int *min)的完整代码:
```c
#include <stdio.h>
void fun(int x[], int *max, int *min) {
*max = x[0];
*min = x[0];
for (int i = 1; i < sizeof(x)/sizeof(int); i++) {
if (x[i] > *max) {
*max = x[i];
}
if (x[i] < *min) {
*min = x[i];
}
}
}
int main() {
int arr[] = {3, 5, 1, 9, 2};
int max, min;
fun(arr, &max, &min);
printf("Max: %d\n", max);
printf("Min: %d\n", min);
return 0;
}
```
这个函数中的x[]参数表示传入的数组,max和min是指向int类型的指针,用于返回最大值和最小值。在函数内部,我们先将max和min的值都设为数组中的第一个元素,然后遍历整个数组,如果遇到比当前最大值还要大的数,则将max的值更新为该数,同理,如果遇到比当前最小值还要小的数,则将min的值更新为该数。最后,我们通过函数调用的方式将max和min的值返回主函数,并打印出来。
阅读全文