用C语言编写:求元素个数为 10 的一维数组元素中的最大值、最小值和平均值。

求元素个数为 10 的一维数组元素中的最大值、最小值和平均值。

#include <stdio.h>
#define N 10  //定义符号常量
//求最大值函数
int max_func(int a[],int n)
{
    int i,max;
    for(max=a[0],i=1;i<N;i++)  //初始默认最大值为a[0],遍历数组元素
        if(max<a[i])  //如果当前最大值<当前数组元素,则将该元素赋值给max
            max=a[i];
    return max;
}
//求最小值函数
int min_func(int a[],int n)
{
    int i,min;
    for(min=a[0],i=1;i<N;i++)  //初始默认最小值为a[0],遍历数组元素
        if(min>a[i])  //如果当前最小值>当前数组元素,则将该元素赋值给min
            min=a[i];
    return min;
}
//求平均值函数
float ave_func(int a[],int n)
{
    int i,sum;
    float ave;
    for(i=sum=0;i<N;i++)  //初始设置sum=0,遍历数组元素
        sum+=a[i];  //累加数组元素
    ave=1.0*sum/n;  //求平均值
    return ave;
}
int main()
{
    int arr[N],i;
    int max,min;
    float ave;
    for(i=0;i<N;i++)  //输入10个数组元素
        scanf("%d",&arr[i]);
    max=max_func(arr,N);  //调用max_func()函数
    min=min_func(arr,N);  //调用min_func()函数
    ave=ave_func(arr,N);  //调用ave_func()函数
    printf("最大值=%d\n最小值=%d\n平均值=%.2f\n",max,min,ave);  //输出结果
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-23
#include <stdio.h>#include <iostream>using namespace std;int max_array(int *A,int n){ int i; int max=A[0]; for(i = 1;i < n;i++) { if(A[i]>max) max=A[i]; } return max;}int min_array(int *A,int n){ int i; int min=A[0]; for(i = 1;i < n;i++) { if(A[i]<min) min=A[i]; } return min;}double avl_array(int *A,int n){ double sum=0; for(int i=0;i<n;i++) sum+=A[i]; return sum/n;}int main(int argc, char *argv[]) { int a[]={1,3,2,-1,9}; cout<<avl_array(a,5);}
测试已经通过
第2个回答  2013-12-23
#include "stdio.h"
int main()
{
   float a[10]={0};
   float max,min,ave=0;
   int i;
   printf("请输入数组的10个元素:\n");
   for(i=0;i<10;i++)
   {
     scanf("%f",&a[i]);
   }
   max=min=a[0];
   for(i=0;i<10;i++)
   {
      ave+=a[i];
      if(max<a[i])
        max=a[i];
      if(min>a[i])
        min=a[i];
   }
   printf("输入数据中最大值为%f,最小值为%f,平均值为%f\n",max,min,ave/10);
}

本回答被提问者采纳
相似回答