定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值.
2个回答
展开全部
代码如下:
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是不会受影响的。
简单的说就是定义的变量,或者其他的只会在自己所在的函数中被使用,和别的函数无关,不会受到影响。
参考资料来源:
展开全部
#include<stdio.h>
#define N 10
float fun(int num[N[N]){
int i,j,k=0,sum=0;
float average;
//下面求数组周边元素的平均值
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==0 || i==N-1 || j==0 || j==N-1){ //i==0代表第一行,i==N-1最后一行,j==0第一列,j==N-1最后一列。合起来就是周边元素。
sum+=num[i][j]; //元素和
k++; //元素个数
}
average=(float)sum/k; //平均值==元素和/个数,为了保留小数,将int型的sum强制转成float
return average;
}
int main(void){
int num[N][N]={{...},......} //这里自己定义吧
printf("%f\n",fun(num));
return 0;
}
#define N 10
float fun(int num[N[N]){
int i,j,k=0,sum=0;
float average;
//下面求数组周边元素的平均值
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==0 || i==N-1 || j==0 || j==N-1){ //i==0代表第一行,i==N-1最后一行,j==0第一列,j==N-1最后一列。合起来就是周边元素。
sum+=num[i][j]; //元素和
k++; //元素个数
}
average=(float)sum/k; //平均值==元素和/个数,为了保留小数,将int型的sum强制转成float
return average;
}
int main(void){
int num[N][N]={{...},......} //这里自己定义吧
printf("%f\n",fun(num));
return 0;
}
追问
顶角的4个元素会不会重复加进去呢??
追答
不会。
因为每个元素只有一次被判断的机会,根本不会重复。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询