/*
编写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; }
|