C语言 通过键盘为一个3行4列的数组赋值,并编写函数计算此数组周边元素之和,并在主函数中输出

作者&投稿:俞钓 (若有异议请与网页底部的电邮联系)
定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值.~

代码如下:
int fun(int w[][N])
{
int i, j, k=0;
int s=0;
for(i=0; i<N; i++)
for(j=0; j<N; j++)
if(i==0 || i==N-i || j==0 || j==N-A)
{
s=s+w[i][j]*w[i][j];
}
return s;
}

扩展资料
自定义函数是其实和各种库中的函数是一样的。就像是"math.h"这个头文件中的的 “sin“这个函数,或者“string.g”这个针对字符串的头文件中的“Strcmp”比较函数,其实都是一样的。都是当自己写好它之后可以直接使用的“东西”。
或者说是一个模块化类型的东西,比如说要写一个求和函数,只用将它在前面写好,在min函数中 使用就好。也使程序更加的简洁,方便。提高可阅读性。
自定义函数格式:函数返回值类型 函数名(参数类型 参数名);
{
函数体
}
当然了参数类型可以不止是一个,当自定义函数a中定义了int s,那么在主函数中的定义的 int s是不会受影响的。
简单的说就是定义的变量,或者其他的只会在自己所在的函数中被使用,和别的函数无关,不会受到影响。
参考资料来源:
百度百科——用户自定义函数

int fun(int p[m][N],int m,int N)//m为行数,n为列数 { int sum = 0; for(int i=0;i #include #define M 4 #define N 5 int fun(int a[M][N]) {int sum=0,i; for(i=0;i<N;i++) sum+=a[0][i]+a[M-1][i]; for(i=1;i<M-1;i++); sum+=a[i][0]+a[i][N-1]; return sum ; } main() { int aa[M][N]={{1,3,5,7,9}, {2,9,9,9,4}, {6,9,9,9,8}, {1,3,5,7,0}}; int i,j,y; clrscr(); printf("The original data is :\
"); for(i=0;i<M;i++) {for(j=0;j<N;j++) printf("%6d",aa[i][j]); printf("\
"); } y=fun(aa); printf("\
The sum: %d\
",y); printf(\
); } 看一下这个吧 手打 采纳

记得采纳啊

#include <stdio.h>
#define M 3
#define N 4
int main(void)
{
int i,j,a[M][N];
int sum=0;
for(i=0; i<M; ++i)
for(j=0; j<N; ++j)
scanf("%d",&a[i][j]);
for(j=0; j<N; ++j)
{
sum+=a[0][j]; //第一行都累加在一起
sum+=a[M-1][j]; //最后一行累加在一起
}
for(i=0;i<M;++i)
{
sum+=a[i][0]; //第一列累加在一起
sum+=a[i][N-1]; //最后一列累加在一起
}
//四角的元素累加重复了一次,删除它们
sum=sum-a[0][0]-a[0][N-1]-a[M-1][0]-a[M-1][N-1];
printf("sum=%d\n",sum);
return 0;
}

#include<stdio.h>
int main()
{int i,j,a[3][4],sum=0;
printf("please input 3*4 array:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0,j=0;j<4;j++)
sum=sum+a[i][j];
sum=sum+a[1][0]+a[1][3];
for(i=2,j=0;j<4;j++)
sum=sum+a[i][j];
printf("sum=%d\n",sum);
return 0;
}