C语言程序:求一个二维数组元素的周边之和

拜托个各位,希望给我可以用的程序啊,谢谢
2024-11-22 20:28:58
推荐回答(4个)
回答1:

求一个二维数组元素的周边之和:源程序如下:

#define N 3//宏定义N=3

#include

void main()
{

int number[N][N] = { {1,2,3},{4,5,6},{7,8,9} };//定义二维数组并赋初值

int i, j;//定义循环变量

int sum = 0;//定义加和变量,并初始化赋值为0

for (i = 0; i < N; i++)//控制行变量遍历

for (j = 0; j < N; j++)//控制列变量遍历

if (i == 0 || i == (N-1) || j == 0 || j == (N-1))//判断是否为周边元素

sum += number[i][j];//进行求和运算

printf("%d", sum);//输出和

}

其中,上述程序中变量N,为数组的行列维数,可灵活进行修改。

程序运行结果如下:


扩展资料:

用行指针实现求一个二维数组四周元素的平均值。

#include

#include

#define M 4

#define N 5

float fun(int(*p)[N], int m)

{

 int i, j, k = 0;//定义循环变量

 float sum, ave;//定义和变量、平均数变量

 sum = 0;//初始化和变量为0

 for (i = 0; i < m; i++)//控制行变量遍历

  for (j = 0; j < N; j++)//控制列变量遍历

   if(i == 0 || i == (m-1) || j == 0 || j == (N-1))//判断是否为周边元素

   {

    sum += p[i][j]; //进行求和运算

    k++;

   }

 ave = sum / k;//求平均

 return ave;//返回平均数

}

int main()

{

 int a[M][N] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20} };

 int i, j;

 float ave;

 for (i = 0; i < M; i++)//遍历打印出数组全部元素

 {

  for (j = 0; j < N; j++)

   printf("%4d", a[i][j]);

  printf("\n");

 }

 ave = fun(a,M);//函数计算并返回平均值

 printf("average=%.2f\n", ave);//输出平均值

 system("pause");//任意键继续

 return 0;

}

扩展资料程序运行结果:


回答2:

main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==0||i==2||j==0||j==2)
sum+=a[i][j];
printf("%d\t",a[i][j]);
printf("%d",sum);
}

回答3:

分为4个部分N X M

int i, sum = 0;
for(i = 0; i < M; ++i)
{
sum += a[i][0];
sum += a[i][N-1];
}
for(i = 1; i < N -1; ++i)
{
sum += a[i][0];
sum += a[i][M-1];
}

回答4:

二维数组元素的周边之和?没看懂