以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:

以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:
#define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{ p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])______;
printf("The max value in line %d is %d\n",i,a[i][p]);
}
}
main()
{ int x[N][M]={1,.5,7,4,2,6,4,3,8,2, 3,1};
______;
}

p=j
LineMax(x)
p=j
LineMax(x)
是答案
“a[i][p]”哪来的? 我不知道
是二级考试题

什么乱七八糟的。是不是二级考试题啊?那么请问,main()函数既然已经结束了,那么最后面:
p=j
LineMax(x)
这两句是干什么的?
还有,
printf("The max value in line %d is %d\n",i,a[i][p]);
这句,最后那个“a[i][p]”哪来的?二维数组a根本就没在LineMax()函数里被声明过,也不是参数,更不是全局数组,搞什么啊???

回补充:
原来如此,但那个a数组出现在那100%不对!应该是写错了,换成x[i][p]看来就对了。
你是想问为什么这么填吗?
第一个空,
if(x[i][p]<x[i][j])p=j;
意思是说,从x[i][0]开始(p一开始取0值),跟右侧的数比大小,一旦右边有比x[i][p]大的数,则p就变成那个较大的数对应的列数。即使用变量p来标识一行(i行)里最大的那个数所在的列数!
第二个空不用说了,你费了半天事写了个函数,怎么能不用它呢?我想这个你自己能看懂吧?就是把x数组作为那个函数的参数,查找每一行的最大值。
温馨提示:答案为网友推荐,仅供参考
相似回答