kyriek 发表于 2018-11-15 10:32:10

二维数组

#include<stdio.h>
int main()
{
        int a,i,j,max,row,colum;
                max=a;
        for(i=0;i<=2;i++)
        {
                for(j=0;j<=3;j++)
                {
                        scanf("%d",&a);
                }
        }
        for(i=0;i<=2;i++)
        {
                for(j=0;j<=3;j++)
                {
                        if(a>max)
                        {
                                max=a;
                                row=i;
                                colum=j;
                }
                }
        }
        printf("max=%d,坐标(%d,%d)",max,i,j);
        return 0;
}

这是一个关于求二维数组中的最大值并且求出其坐标的代码,为什么出来的结果中max=的是乱码

风扫地 发表于 2018-11-15 11:28:19

scanf("%d",&a);
想干什么这是。。{:10_249:}

waterloo__dream 发表于 2018-11-15 12:36:51

输入scanf那里应该是a额

kyriek 发表于 2018-11-15 13:38:07

waterloo__dream 发表于 2018-11-15 12:36
输入scanf那里应该是a额

改成a结果还是错的呀,max依旧等于乱码

waterloo__dream 发表于 2018-11-15 14:07:43

sorrysorry,打错了a

Canlovey 发表于 2018-11-15 15:31:36

我这里可以正常运行,输出结果也是正确的,你这里有一个小错误:printf("max=%d,坐标(%d,%d)",max,i,j),后面应该是row和colum;或者你试一下把max=a放到第三个外循环之前?我这里移不移都一样的,你可以试一下

当打野会编程 发表于 2018-11-15 15:33:12

#define _CRT_SECURE_NO_WARNINGS   
#include<stdio.h>
int main()
{
        int a, i, j, max, row, colum;
        max = a;
        for (i = 0; i <= 2; i++)
        {
                for (j = 0; j <= 3; j++)
                {
                        scanf("%d", &a);
                }
        }

        for (i = 0; i <= 2; i++)
        {
                for (j = 0; j <= 3; j++)
                {
                        if (a>max)
                        {
                                max = a;
                                row = i;
                                colum = j;
                        }
                }
        }
        printf("max=%d,坐标(%d,%d)", max, row, colum);

        system("pause");
        return 0;
}

当打野会编程 发表于 2018-11-15 15:34:13

共两处错误,已经改好了都是细节问题 哈哈

风扫地 发表于 2018-11-15 21:21:34

当打野会编程 发表于 2018-11-15 15:33
#define _CRT_SECURE_NO_WARNINGS   
#include
int main()


他用的是dev C++,应该不用加上
#define _CRT_SECURE_NO_WARNINGS   

umaru 发表于 2018-11-16 10:20:45

如图

LordHdy 发表于 2018-11-16 12:41:08

#include<stdio.h>

int main()
{
    int a,i,j,max,row,colum;   
    // max=a;a未赋值 不能赋值给max
    // 输入数组元素
    for(i=0;i<=2;i++)
    {
      for(j=0;j<=3;j++)
      {
            scanf("%d",&a);
      }
    }   
   
    max=a;   // max赋初值
    for(i=0;i<=2;i++)
    {
      for(j=0;j<=3;j++)
      {
            if(a>max)
            {
                max=a;
                row=i;
                colum=j;
              }
      }
    }
    // printf("max=%d,坐标(%d,%d)",max,i,j);    此时i = 3, j = 4
    printf("max=%d,坐标(%d,%d)",max,row,colum);   // (row,colum) 才是max的坐标
    return 0;
}

Yo乄 发表于 2018-11-19 08:42:32

PTA   的题目把...
页: [1]
查看完整版本: 二维数组