实现一个函数void getMaxMin(int arr[], int len, int * max, int * min)用于计算一个数组的最大值和最小值

#include <iostream>
using namespace std;
void getMaxMin(int arr[], int len, int* max, int* min);//定义一个函数用于确定数组中的最大值和最小值
int main()
{
    int arr[100];//定义数组并确定大小
    int N;
    while (cin >> N)//多组输入并确定输入整数的个数
    {
        for (int i = 0; i < N; i++)
        {
            int n;
            cin >> n;
            arr[i] = n;//用用户输入的数填充数组arr
        }
        int m1, m2;//定义两个变量让函数中的指针指向这两个变量的地址
        getMaxMin(arr, N, &m1, &m2);
        cout << m1 << " " << m2 << endl;//输出最大值和最小值

    }
    return 0;
}
void getMaxMin(int arr[], int len, int* Max, int* Min)
{
    int max, min;
    max = min = arr[0];
    for (int i = 0; i < len; i++)//依次检测将最大值最小值找出
    {
        if (min > arr[i])
            min=arr[i];
        if (max < arr[i])
            max=arr[i];
        *Max = max;//将最大值存入该指针变量指向的变量中
        *Min = min;//将最小值存入该指针变量指向的变量中
    }
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用指针函数实现去掉一个最高分,去掉一个最低分,求平均值的C语言代码: ```c #include <stdio.h> void Min(int *arr, int len, int *min) { *min = arr[0]; for (int i = 1; i < len; i++) { if (arr[i] < *min) { *min = arr[i]; } } } void Max(int *arr, int len, int *max) { *max = arr[0]; for (int i = 1; i < len; i++) { if (arr[i] > *max) { *max = arr[i]; } } } void Sum(int *arr, int len, int *sum) { *sum = 0; for (int i = 0; i < len; i++) { *sum += arr[i]; } } void Avg(int sum, int max, int min, int len, float *avg) { *avg = (sum - max - min) * 1.0 / (len - 2); } int main() { int arr[5] = {90, 87, 92, 85, 88}; int len = sizeof(arr) / sizeof(arr[0]); int min, max, sum; float avg; Min(arr, len, &min); Max(arr, len, &max); Sum(arr, len, &sum); Avg(sum, max, min, len, &avg); printf("The average score is: %.2f\n", avg); return 0; } ``` 首先,我们定义了4个指针函数,分别用于最小值最大值、总和和平均值。其中,Min函数用于最小值,通过传入数组指针arr数组长度len和指向最小值的指针min,遍历数组并找到最小值,将其存储在min所指向的内存中。Max、Sum和Avg函数Min函数类似,只是它们分别用于最大值、总和和平均值,并将结果存储在指定的指针中。 在main函数中,我们定义一个包含5个元素的整数数组arr,并计算数组的长度len。然后,分别调用MinMax、Sum和Avg函数,对数组进行处理,并将结果存储在指定的变量中。最后,打印出平均值的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值