一、问题及代码
/*
*文件名称:10个数的数组
*作 者:武鹏翔
*完成日期:2017.4.10
*版 本 号:v6.0
*对任务及求解方法描述部分:
*输入描述:
*问题描述:
*程序输出:
*问题分析:从有一个10个数的数组,求出这10个数的最大数、最小数和平均数,并统计出大于平均数的个数。其中求最大数、最小数和平均数用一个函数完成,
统计大于平均数的个数用另一个函数完成。
*算法设计:
*/
#include<iostream>
using namespace std;
double aver(int x[],int n,int *,int *);
int count(int x[],int n,double ave);
int main()
{
int x[10]={4,6,8,16,19,14,5,10,1,21},max,min,num;
double ave;
max=x[0];
min=x[0];
ave=aver(x,10,&max,&min);
num=count(x,10,ave);
cout<<"最大数为:"<<max<<"\n"<<",最小数为:"<<min<<"\n"<<",平均数为:"<<ave<<"\n"<<"大于平均数的个数为:"<<num<<endl;
return 0;
}
double aver(int x[],int n,int *a,int *b)
{
int i,sum=0;
double ave;
for(i=0;i<n;i++)
{
if(x[i]>*a)
*a=x[i];
if(x[i]<*b)
*b=x[i];
sum+=x[i];
}
ave=sum/10.0;
return ave;
}
int count(int x[],int n,double ave)
{
int num=0,i;
for(i=0;i<n;i++)
if(x[i]>ave)
num++;
return num;
}
二、运行结果