编写函数fun:求出二维数组周边元素之和,作为函数值返回二维数组的值在主函数中赋予

同样在题库中抽出来的现在希望大神们给个正解........ 同样在题库中抽出来的 现在希望大神们给个正解..... 展开
 我来答
梓儆蛹18
2015-02-19 · TA获得超过223个赞
知道小有建树答主
回答量:139
采纳率:100%
帮助的人:64.3万
展开全部
int fun(int p[m][N],int m,int N)//m为行数,n为列数 { int sum = 0; for(int i=0;i<m;i++) sum += p[m][0]; for(int j=0;j<m;j++) sum += p[m][n-1]; for(int k=1;k<m-1;k++) sum += p[0][k]; for(int k=1;k<m-1;k++) sum += p[m-1][k]; return sum; } 这是大体想法 纯手打 请采纳 追问: 运算结果是多少? 回答: 第一个for()循环是计算矩阵的最上一行和最下一行的总和,第二个for()是计算除两头元素以外的最左一列和最右一列的元素的和,最后sum就是周边元素的和。 〔源程序〕 #include <conio.h> #include <stdio.h> #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 :\\n"); for(i=0;i<M;i++) {for(j=0;j<N;j++) printf("%6d",aa[i][j]); printf("\\n"); } y=fun(aa); printf("\\nThe sum: %d\\n",y); printf(\\n); } 看一下这个吧 手打 采纳

记得采纳啊
TableDI
2024-07-18 广告
在Excel中,使用`VLOOKUP`函数进行单一条件查找非常常见,但`VLOOKUP`本身并不直接支持双重条件。然而,你可以通过一些间接方法实现。一种方法是将两个条件合并为一个标识符(例如,通过连接或串联),然后在另一个区域中查找此标识符... 点击进入详情页
本回答由TableDI提供
lewvi
2010-12-17 · TA获得超过369个赞
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
二维数组a[M][N]为例,
只写了子函数:
int fun(int *a)
{int sum=0,i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if((i==0)||(j==0)||(i==M-1)||(j==N-1))
sum+=a[i][j];
return sum;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkjhggv
2010-12-17 · TA获得超过3063个赞
知道大有可为答主
回答量:1550
采纳率:66%
帮助的人:1297万
展开全部
typedef int DATATYPE;
DATATYPE fun(DATATYPE a[][],int m,int n)
{
int i;
DATATYPE sum=0;
for(int i=0;i<n;++i)
sum+=(a[0][i]+a[m-1][i]);
for(int i=1;i<m-1;++i)
sum+=(a[i][0]+a[i][n-1]);
return sum;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式