一个简单的C++程序,不知错在哪里,望指点!(本人才学C++)

zengtc 2008-10-07 02:46:20
#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];
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;
}
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hudayanno1 2008-10-07
  • 打赏
  • 举报
回复
数组元素的个数必须为常量吧,int a[m]这样的定义不对,还有sum=array[0]这个是不是也有问题,这个意思是数组含有0个元素,还是你想表达的意思是把数组元素初始化为零,数组定义的格式为:类型名 数组名[常量表达式];常量表达式表示元素的个数。呵呵,我也是菜鸟,刚看过数组那部分,翻书对照看的,感觉数组的定义和表示有点问题,要说的不对,还请见谅,呵呵
chenfeng2002 2008-10-07
  • 打赏
  • 举报
回复
可以用指针动态分配
main()
{
int b,m;
int *a;
cout <<"please enter a number:" <<endl;
cin>>m;
cout <<"please enter" <<m <<"numbers:" <<endl;

a = new int(m);

for(int i=0;i <m;i++)
cin>>a[i];
b=aver(a,m);
cout <<b <<endl;
}
zhangzhao123 2008-10-07
  • 打赏
  • 举报
回复
b=aver(a,m);
OenAuth.Net 2008-10-07
  • 打赏
  • 举报
回复

#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;
}
太乙 2008-10-07
  • 打赏
  • 举报
回复


#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;
}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧