找错误:有一个3*4的矩阵,编写程序求其中的最大元素值并输出

#include <stdio.h>
int main()
{
int i,j,a[3][4],max;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);}
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
if(max<a[i][j]) max=a[i][j],i=i,j=j;
}
printf("最大值为:%d\n",max);
return 0;
}

结果一直为2009001733
肯定是不对的,可是我不知道哪里不对

#include <stdio.h>
int main()
{
    int i,j,a[3][4],max;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    }
    max=a[0][0];
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
        {
            if(max<a[i][j])
                max=a[i][j];
        }
    printf("最大值为:%d\n",max);
    return 0;

}

你的程序没什么问题,问题在你输入矩阵的时候,数与数之间用了逗号分隔,应该用空格分隔。

另外,判断当前元素a[i][j]大于max的时候,除了把当前元素赋给max,后面多了两句,i=i,j=j,没必要,当然不影响最终结果。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答