📜  C测验– 103 |问题4(1)

📅  最后修改于: 2023-12-03 15:00:12.465000             🧑  作者: Mango

C测验– 103 | 问题4

问题描述

题目:请编写一个 C 程序,可以计算一个整数数组中的最大值和最小值,并将它们作为结果返回。

函数原型:

void getMinMax(int arr[], int size, int* min, int* max)
输入
  • int arr[]:一个整数数组
  • int size:数组的大小
输出
  • int* min:指向最小值的指针
  • int* max:指向最大值的指针
示例
#include <stdio.h>

void getMinMax(int arr[], int size, int* min, int* max) {
    *min = arr[0];
    *max = arr[0];

    for (int i = 1; i < size; i++) {
        if (arr[i] < *min) {
            *min = arr[i];
        }
        if (arr[i] > *max) {
            *max = arr[i];
        }
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int size = sizeof(arr) / sizeof(arr[0]);
    int min, max;

    getMinMax(arr, size, &min, &max);

    printf("最小值为:%d\n", min);
    printf("最大值为:%d\n", max);

    return 0;
}

输出:

最小值为:1
最大值为:10
解释

该 C 程序实现了一个函数 getMinMax,这个函数可以找出一个整数数组中的最小值和最大值。在主函数中,我们定义了一个整数数组 arr,并使用 sizeof 运算符找出数组的大小。然后,我们调用 getMinMax 函数,传入数组 arr、数组大小 size,以及指向存储最小值和最大值的变量的指针。函数遍历数组,找到最小值和最大值,并将它们存储在对应的指针变量中。最后,我们打印出最小值和最大值。在这个示例中,输出的最小值为 1,最大值为 10。