用C++编写一个程序,计算一个二维数组中所有元素的平均值(用指针处理)

 我来答
匿名用户
2013-07-02
展开全部
#include <iostream>
using namespace std;const M=3,N=3; //定义二维数组的行和列int main()
{
float a[M][N]={{1,2,3},{4,5,6},{7,8,9}}; //定义一个M行N列的二维数组.
float ave=0; //累加总成绩,计算平均值.
/*方法1: 转化成一维指针*/
float *p=(float *)a;
for(int i = 0; i < M * N; ++i)
{
cout << *( p + i ) << " "; //输出二维数组的所有元素.
ave = ave + *( p + i );
}
ave = ave / ( M * N );
cout << "平均值 = " << ave << endl; //输出结果; /*方法2: 数组指针*/
ave = 0; //重新置0;
float (*q)[N] = a;
for(i = 0; i < M; ++i)
{
for(int j = 0; j < N; ++j)
{
cout << (*(q+i))[j]<<" "; //输出二维数组的所有元素.
ave = ave + (*(q+i))[j];
}
}
ave = ave / ( M * N );
cout << "平均值 = " << ave << endl; //输出结果; return 0;
}
匿名用户
推荐于2018-03-12
展开全部
#include <iostream>using namespace std;int main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int (*p)[3]=a;
float sun=0,flag=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
sun+=*(*(p+i)+j);
flag++;
}
}
cout<<sun/flag<<endl;
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-02
展开全部
#include "stdio.h"#define max 100int avg(int *p,int x){ int i=0,s=0; while(i<=x) { s=s+p i++; p++; }}main(){ int a[max]; int i; for(i=0;i<=max;i++) { a[i]=i; } printf("平均值为:%d\n",avg(a,max););}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-02
展开全部
#include<iostream.h>#define sz 20int average(int *a,int n){int i,j,sum=0;for(i=0;i<n;i++)for(j=0;j<n;++)sum+=a[i][j];return sum/(n*n);}int main(){int array[sz][sz];cout<<"input array data:\n";for(i=0;i<n;i++)for(j=0;j<n;++)cin>>array[i][j];cout<<"array's average :"<<average(&array,n)<<endl;return 0; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式