谁可以帮我解释一下C语言这道题目
以下fun函数功能是在N行M列的整型二维数组中,选取一个最大的值作为函数返回请填空。(设M,N已定义)intfun(inta[N][M]){inti,j,row=0,co...
以下fun函数功能是在N行M列的整型二维数组中,选取一个最大的值作为函数返回请填空。(设M,N已定义)
int fun ( int a[N][M])
{ int i,j,row=0,col=0;
for(i=0;i<N;i++)
for (j=0;j<M;j++)
if (a[i][j]>a[row][col]) (row=i;col=j;)
return ____________;} 答案为什么是a[row][col] 展开
int fun ( int a[N][M])
{ int i,j,row=0,col=0;
for(i=0;i<N;i++)
for (j=0;j<M;j++)
if (a[i][j]>a[row][col]) (row=i;col=j;)
return ____________;} 答案为什么是a[row][col] 展开
6个回答
展开全部
寻找最大数值
for(i=0;i<N;i++)
for (j=0;j<M;j++)
if (a[i][j]>a[row][col]) //如果a[i][j]比最大数a[row][col]
(row=i;col=j;)//那么a[row][col]的下标就等于这个数的下标,这样a[row][col]在查找的数中永远最大,等数组查完之后最大值就是他了
for(i=0;i<N;i++)
for (j=0;j<M;j++)
if (a[i][j]>a[row][col]) //如果a[i][j]比最大数a[row][col]
(row=i;col=j;)//那么a[row][col]的下标就等于这个数的下标,这样a[row][col]在查找的数中永远最大,等数组查完之后最大值就是他了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[row][col] 作为临时变量,保存当前数组中的最大值。
如果有其他的值a[i][j] 比a[row][col]大,则记录i,j的值替换a[row][col] ,最终返回最大值。
如果有其他的值a[i][j] 比a[row][col]大,则记录i,j的值替换a[row][col] ,最终返回最大值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (a[i][j]>a[row][col]) (row=i;col=j;)
这一句保存了最大值时的行号与列号到row,col中了。
所以,要填 a[row][col]
这一句保存了最大值时的行号与列号到row,col中了。
所以,要填 a[row][col]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己画个2维数组,然后按着程序一步一步走,你就明白了。
头脑想象不出来的,要动笔算算,理解理解啊。
头脑想象不出来的,要动笔算算,理解理解啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-16
展开全部
因为row,col记录了最大元素所在的行和列。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询