
C语言数组问题 有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和例号
voidmain{inti,jrow=0,colum=0,max;inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a...
void main
{
int i,j row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d\n",max,row,colum);
}
这书书上的例题 我有几个搞不懂的地方
一、max=a[0][0]这里是将第0行0例的元素赋给max吗? 也就是将1赋给max?
二、if(a[i][j]>max)此时max又是多少?1?应该不是1吧 展开
{
int i,j row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d\n",max,row,colum);
}
这书书上的例题 我有几个搞不懂的地方
一、max=a[0][0]这里是将第0行0例的元素赋给max吗? 也就是将1赋给max?
二、if(a[i][j]>max)此时max又是多少?1?应该不是1吧 展开
5个回答
展开全部
执行max=a[0][0]后max=1
if(a[i][j]>max)此时max值不能确定,因为前面有两个循环嵌套,执行完
if(a[i][j]>max) //此处i j值不确定,不知道max是否比a[i][j]大
{
max=a[i][j]; //此处i j值不确定,max可能会变化
row=i;
colum=j;
}
后会执行 j++ ,如果此时 j<=3 则继续执行 if 语句,如果 j>3 则执行 i++;j=0;
然后再次执行 if(a[i][j]>max) 语句 ,此时的i、j都不能确定,此前max的值有可能变化了
if(a[i][j]>max)此时max值不能确定,因为前面有两个循环嵌套,执行完
if(a[i][j]>max) //此处i j值不确定,不知道max是否比a[i][j]大
{
max=a[i][j]; //此处i j值不确定,max可能会变化
row=i;
colum=j;
}
后会执行 j++ ,如果此时 j<=3 则继续执行 if 语句,如果 j>3 则执行 i++;j=0;
然后再次执行 if(a[i][j]>max) 语句 ,此时的i、j都不能确定,此前max的值有可能变化了
展开全部
代码的意思是 首先 需要一个辅助变量 max 保存最大值对吧 ?
然后 给max赋值a[][]数组的第一个元素 , 之后遍历其他剩下的元素,比max大,就保存值在max中,
那遍历完一次后,max就是数组a[][]中最大的值了.
if(a[i][j]>max)
{
max=a[i][j];//刷新max值
row=i;//保存行号
colum=j;//保存列号
}
然后 给max赋值a[][]数组的第一个元素 , 之后遍历其他剩下的元素,比max大,就保存值在max中,
那遍历完一次后,max就是数组a[][]中最大的值了.
if(a[i][j]>max)
{
max=a[i][j];//刷新max值
row=i;//保存行号
colum=j;//保存列号
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个问题:恩 是的 只是给max赋一个初值而已
第二个问题:第一次进入循环是max就是第一个值1,当a[i][j]位置大于max值时将max值换成a[i][j],同时得到row和colum,当不符合a[i][j]>max时if语句就不会执行,知道数组循环结束,得到最终max的值。
第二个问题:第一次进入循环是max就是第一个值1,当a[i][j]位置大于max值时将max值换成a[i][j],同时得到row和colum,当不符合a[i][j]>max时if语句就不会执行,知道数组循环结束,得到最终max的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Max保存最大值、好果下一个比Max大,则替换max的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯 是的,就是把1附给a[0][0] if(a[i][j]>max)就将a[i][j]附给a[0][0] ,程序不是很清楚吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询