C++编写一个求任意类型数组中最大元素和所有元素平均值的程序,要求将求最大值和求平均值的函数定义成函数

如题所述

#include<iostream>
using namespace std;
#define n 20
template <typename T>

T max(){
T a[n],max=a[0];
for(int i=0;i<n;i++){
if(a[i]>max){
max=a[i];
}
}
return max;
}

T ave(){
T a[n],ave=0;
for(int i=0;i<n;i++){
ave=(ave+a[i])/n
}
return ave;

}

int main(){
float a[n],max,ave;

for(int i=0;i<n;i++){
cin>a[i];
}
max=max();
ave=ave()
cout<max<" "<ave;
return 0;

} (没运行过,不知道对不对。既然不知道数组类型,故应定义函数模型)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-17
数组里面进行排序,取最后或者第一个(看你自己的排序情况),元素相加,再除以元素个数。。。。

C++ 求一维数组中各元素的最大值、最小值和平均值
arr[j+1] = temp;} } } cout << "最小元素为 : " << arr[0] << endl;cout << "最大元素为 : " << arr[len-1] << endl;} void print(float arr[], int len){ int i = 0;while(i != len){ cout << arr[i] << " ";if( (i+1) % 6 == 0) cout << end...

c++求一个数组最大值,最小值和平均值
return sum\/n;} \/\/平均值,没什么好说的?\/\/方差要用的是平均值,不是中值;double mid(double a[],int n){ int mid;if (n%2==0)mid =(a[n\/2-1]+a[n\/2])\/2;else mid =a[(n-1)\/2];} \/\/这个是求中值 double variance (double a[],int n){ double sum=0;double averag...

C++中怎么用指针变量求一个一维数组中所有元素的最大值和平均值?
int a[]={1,2,3,5,4},max,*p=&max;float av,*q=&av;void f(int a[],int *p,float *q);f(a,p,q);printf("max=%d\\nav=%f\\n",max,av);}

c++求数组中的最大值
用于查找数组中最高值(其实就是最大值,但是为对应源代码中的 highest,故仍称为最高值)和最低值(其实就是最小值,但是为对应源代码中的 lowest,故仍称为最低值)的算法非常相似。首先,来看一下在数组中寻找最高值的代码。假设在程序中出现了以下语句。const int SIZE = 10;int numbers[SI...

用C++编程编写一个程序 用键盘输入5整数到数组,求数组的最大值、平 ...
using namespace std;void main(){ int a[5],max,sum;cout<<"请输入五个整数:"<<endl;for(int i=0;i<5;i++)cin>>a[i];max=sum=a[0];for(i=0;i<5;i++){ if(a[i]>max)max=a[i];sum+=a[i];} cout<<"最大的数是:"<<max<<"平均数是:"<<sum\/5<<endl;} ...

C++编程实现输入10个数,输出最大值和最小值及其平均值。
所需要的数学计算函数都在里面。3、然后运用scanf函数来接收用户输入的三个数字,如下图所示。4、接着利用逐个比较的方式计算三个数中的最大值,如下图所示。5、运行编写的C语言文件,会弹出如下图所示的命令行界面,输入三个数字,注意数字之间有空格,程序就会返回最大值了,如下图所示就完成了。

c++ 设计一个处理类型int数组的函 数,目的是获取数组的最大、最小 值...
include <iostream> include "time.h"using namespace std;double fun(int *p,int *max,int *min){ int s,i;for(s=*max=*min=*p,p+=(i=1);i<10;i++,s+=*p++){ if(*max<*p)max=*p;if(*min>*p)min=*p;} return s\/10.0;} int main(int argc,char *argv[]){ int a[...

填空:通过定义函数,求数组中的最大值 c++程序设计
= array[i]; return max;}void main( ){ float fv[4]={5.5,-9.8,6.2,8.66}; float t; t = max(fv,4);cout<<"显示数组中的数据"<<endl;for(int i=0;i<4;i++) cout<<fv[i]<<" ";cout<<endl<<"此数组中最大值是" << t <<endl;} ...

填空:通过定义函数,求数组中的最大值 c++程序设计
= array[i]; return max;}void main( ){ float fv[4]={5.5,-9.8,6.2,8.66}; float t; t = max(fv,4);cout<<"显示数组中的数据"<<endl;for(int i=0;i<4;i++) cout<<fv[i]<<" ";cout<<endl<<"此数组中最大值是" << t <<endl;} ...

...并计算最大值附近的三个元素的平均值,急!!!
可以做修改或输入 int a[10] = {1,3,4,2,50,3,1,30,10,20}; \/\/给数组排序,从小到大 sort(a, a+10); cout<<"最大:"<<a[9]<<", "<<"最小: "<<a[9]<<endl; cout<<"最大附近三个平均值: "<< float(a[0]+a[1]+a[2]) \/ 3.0f<<endl;}谢谢,望采纳 ...

相似回答