65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <math.h>
using namespace std;
int aver(int array[],int n)
{
int i;
int aver,sum=array[0];
for(i=0;i <n;i++) //你那样写越界了
sum=sum+array[i];
aver=sum/n;
return aver;
}
main()
{
int b,m;
int a[10]; //必须用常量定义
cout <<"please enter a number:" <<endl;
cin>>m; //这样m最大就只能为10了
cout <<"please enter" <<m <<"numbers:" <<endl;
for(int i=0;i <m;i++)
cin>>a[i];
b=aver(a,m); //传个地址就行了
cout <<b <<endl;
}
#include <iostream.h>
#include <math.h>
int aver(int array[],int n)
{
int i;
int aver,sum=array[0];
for(i=1;i <=n;i++)
sum=sum+array[i];
aver=sum/n;
return aver;
}
main()
{
int a[m]; //m未定义,而且在定义数组的时候,维数必须确定,为常值!所以这里的m是不行的,必须精确到1,2,3等
//要定义动态数组,可以用指针,也可以用vector等!
int b,m;
cout < <"please enter a number:" < <endl;
cin>>m;
cout < <"please enter" < <m < <"numbers:" < <endl;
for(i=0;i <m;i++)
cin>>a[i];
b=aver(a[],m);
cout <<b <<endl;
}