A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*

  编写1个函数. 该函数返回1个整型数组中的最大值、最小值、平均值、累积和.

   分析: 一个函数如果需要返回多个返回值,需要使用指针.

*/

#include <stdio.h>

void jiSuanArr(int* arr,int len,int* pMax,int* pMin,double* pAvg,int* pSum);
int main()
{
    //定义变量
    int max = 0,min = 0,sum = 0;
    double avg = 0;
    //定义数组,定义长度.
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    int len = sizeof(arr)/sizeof(arr[0]);
    //调用函数,传入参数.参数是之前定义的变量的地址,用于在函数中被指针操作修改.
    jiSuanArr(arr, len, &max, &min, &avg, &sum);
    //输出结果.
    printf("最大值是:%d\n最小值是:%d\n平均值是:%.2lf\n累加和:%d\n",max,min,avg,sum);

    return 0;
}

void jiSuanArr(int* arr,int len,int* pMax,int* pMin,double* pAvg,int* pSum)
{
    //这里的指针指向的就是main函数中定义的对应的变量.操作它们实际就是在操作它们指向的变量.
    //求最大值,最小值.
    *pMax = INT32_MIN;
    *pMin = INT32_MAX;
    for (int i = 0; i < len; i++)
    {
        if (*pMax < arr)
        {
            *pMax = arr;
        }
        if (*pMin > arr)
        {
            *pMin = arr;
        }
        //求累加和.
        *pSum = *pSum + arr;
    }
    //求平均值.
    *pAvg = (double)*pSum / len;
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马