永发信息网

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

答案:6  悬赏:20  手机版
解决时间 2021-05-04 23:47
  • 提问者网友:雪舞兮
  • 2021-05-04 09:26
用C++编写一个程序,计算一个二维数组中所有元素的平均值(用指针处理)
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-05-04 09:49

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

全部回答
  • 1楼网友:往事隔山水
  • 2021-05-04 12:38
#include<iostream.h> #define N 100 #define M 100 void main() {int i,j,n,m,t,s,a[N][M]; int (*pa)[M]=a; cout<<"请输入二维数组的行数:"; cin>>n; cout<<"请输入二维数组的列数:"; cin>>m; cout<<"请输入数据"<<endl; for(i=0;i<n;i++) for(j=0;j<m;j++) cin>>*(*(pa+i)+j); s=0; for(i=0;i<n;i++) for(j=0;j<m;j++) s=s+*(*(pa+i)+j); t=s/(m*n); cout<<"平均值是:"<<t;}
  • 2楼网友:动情书生
  • 2021-05-04 12:12

int sum=0; int count=0; int myarray[3][5]= { {3,5,12,8,36}, {5,35,14,21,7}, {22,45,23,46,1} };

for(int i=0;i<3;i++) { for(int j=0;j<5;j++) { sum+=*(*(myarray+i)+j); //sum+=myarray[i][j]; count++; } } cout << "平均数=" <<sum/count << endl;

  • 3楼网友:慢性怪人
  • 2021-05-04 10:54

#include<iostream.h>

#define sz 20

int 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;

}

  • 4楼网友:我住北渡口
  • 2021-05-04 10:41

#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; //累加总成绩,计算平均值. 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; //输出结果;

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

  • 5楼网友:何以畏孤独
  • 2021-05-04 09:59

#include "stdio.h"

#define max 100

int 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););

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯