(c语言)编写一个程序 功能是求出二维数组周边元素平均值

编写一个程序 功能是求出二维数组周边元素平均值
例A数组中值为
A=|0 1 2 7 9|
|1 9 7 4 5|
|2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|
则返回主程序后值为3.375

————编程出来这题给50分 急~

思路:求出二维数组周边元素平均值,首先需要计算周边元素的个数和累加和,周边元素有一个性质就是,该元素的横纵下标中必有一个0或者是元素个数减一,所以通过一个if判断语句就可以求出来。

参考代码:

#include <stdio.h>
int main()

double avg,sum=0;
int num=0,i,j;
int  a[5][5]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};
for(i=0;i<5;i++)
  for(j=0;j<5;j++)
   if(i==0 || i==4 || j==0 || j==4)
   {
    sum+=a[i][j];
    num++;
   }
  avg=sum/num;
  printf("%.3lf\n",avg);
return 0;
}
/*
输出:
3.375
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-08
思路:求出二维数组周边元素平均值,首先需要计算周边元素的个数和累加和,周边元素有一个性质就是,该元素的横纵下标中必有一个0或者是元素个数减一,所以通过一个if判断语句就可以求出来。
参考代码:
#include <stdio.h>
int main()
{
double avg,sum=0;
int num=0,i,j;
int a[5][5]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==0 || i==4 || j==0 || j==4)
{
sum+=a[i][j];
num++;
}

avg=sum/num;

printf("%.3lf\n",avg);
return 0;
}
/*
输出:
3.375
*/
第2个回答  2008-09-10
int a[][];
设数组行列分别为m,n
double sum = 0.0;
for(i = 0; i < n; i++)
{
sum += a[0][i]+a[m-1][i]; //加上最后一行和第一行的值
}
for(i = 1; i < m; i++)
{
sum += a[i][0]+a[i][n-1]; //除第一行和最后一行加上每一行两边元素
}
printf("%.3lf\n", sum/(2*n+2*(m-2)));
第3个回答  推荐于2017-09-01
main()
{
float avg=0.0,t=0.0,sum=0.0;
float array[5][5]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};
for(int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
if(i==0 || i==4 || j==0 || j==4)
{
sum+=array[i][j];
avg=sum/++t;
}
}
}
cout<<avg;
}本回答被提问者采纳
第4个回答  2008-09-10
#include "iostream.h"
main()
{
float avg=0.0,t=0.0,sum=0.0;
float array[5][5]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};
for(int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
if(i==0 || i==4 || j==0 || j==4)
{
sum+=array[i][j];
avg=sum/++t;
}
}
}
cout<<avg;
}