C语言数组内的数据求和、平均值、最大值、最小值 您所在的位置:网站首页 c语言计算输入两个整数的最大值和最小值 C语言数组内的数据求和、平均值、最大值、最小值

C语言数组内的数据求和、平均值、最大值、最小值

2024-05-31 03:23| 来源: 网络整理| 查看: 265

题目:对一组数据进行统计处理,包括求总和、平均值、最大值和最小值。

对于题目中的4个分支,我选择用4个自定义函数来实现:

int arr[] = {1,5,7,3,9,2,-2,4,0,6,8,-8};

用于计算的一组数

1.求总和(Sum)

用一个for循环来求出总和:

//1.求总和(Sum) int sum=Sum(arr,sz); printf("这组数据的总和为: %d\n", sum); int Sum(int* arr1,int sz1)//求和函数 { int a = 0; int c = 0; for (int i = 0; i < sz1; i++)//创建一个循环,从下标为0开始依次相加最后返回 { a = arr1[i]; c = c + a; } return c; }

2.平均值(Average_value)

//2.平均值(Average_value) float av = Average_value(sum, sz); printf("这组数据的平均值为: %f\n", av); float Average_value(int sum1,int sz1)//平均值 { return sum1 / sz1;//根据求和函数得到的值计算平均值 }

3.最大值(Max)

//3.最大值(Max) int max = Max(arr,sz); printf("这组数据的最大值为: %d\n", max); int Max(int* arr1, int sz1)//最大值 { int i = 0; int max = arr1[0];//取数组下标为0的数作为参考 for (i = 0; i < sz1; i++)//依次比较,最后返回最大值 { if (max < arr1[i]) { max = arr1[i]; } } return max; }

4.最小值(Min)

//4最小值(Min) int min = Min(arr, sz); printf("这组数据的最小值为: %d\n", min); int Min(int* arr1, int sz1)//最小值 { int min = arr1[0];//取数组下标为0的数作为参考 int i = 0; for (i = 0; i < sz1; i++)//依次比较,最后返回最小值 { if (min > arr1[i]) { min = arr1[i]; } } return min; }

头文件:(放函数声明的地方)

#define _CRT_SECURE_NO_WARNINGS 1 #include int Sum(int* arr1, int sz1);//函数声明 float Average_value(int sum1,int sz1);//函数声明 int Max(int* arr1,int sz1);//函数声明 int Min(int* arr1,int sz1);//函数声明 完整代码 #include"Processing_data.h" int main()//给定一组数据,求总和(Sum)、平均值(Average_value)、最大值(Max)、最小值(Min) { int arr[] = {1,5,7,3,9,2,-2,4,0,6,8,-8};//建立数组 //int i = 0; //printf("请连续输入十个待计算数字 \n"); //for (i = 0; i < 10; i++) //{ // scanf("%d", &arr[i]); //} int sz = sizeof(arr) / sizeof(arr[0]);//sz:计算数组大小 //1.求总和(Sum) int sum=Sum(arr,sz); printf("这组数据的总和为: %d\n", sum); //2.平均值(Average_value) float av = Average_value(sum, sz); printf("这组数据的平均值为: %f\n", av); //3.最大值(Max) int max = Max(arr,sz); printf("这组数据的最大值为: %d\n", max); //4最小值(Min) int min = Min(arr, sz); printf("这组数据的最小值为: %d\n", min); return 0; } int Sum(int* arr1,int sz1)//求和 { int a = 0; int c = 0; for (int i = 0; i < sz1; i++)//创建一个循环,从下标为0开始依次相加最后返回 { a = arr1[i]; c = c + a; } return c; } float Average_value(int sum1,int sz1)//平均值 { return sum1 / sz1;//根据求和函数得到的值计算平均值 } int Max(int* arr1, int sz1)//最大值 { int i = 0; int max = arr1[0];//取数组下标为0的数作为参考 for (i = 0; i < sz1; i++)//依次比较,最后返回最大值 { if (max < arr1[i]) { max = arr1[i]; } } return max; } int Min(int* arr1, int sz1)//最小值 { int min = arr1[0];//取数组下标为0的数作为参考 int i = 0; for (i = 0; i < sz1; i++)//依次比较,最后返回最小值 { if (min > arr1[i]) { min = arr1[i]; } } return min; }

初学者自写代码,如有更好的办法欢迎讨论和改进,共勉!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有