祥森 发表于 2018-12-26 20:18:22

二维数组中每一行最大的组成一个一维数组

#include <stdio.h>
int main()
{
        int num1,num2;
        int a, b,max;
        for (a = 0; a < 4; a++)
        {
                for (b = 0; b < 4; b++)
                {
                        scanf("%d", &num1);
                }
        }
        for (a = 0; a < 4; a++)
        {
                for (b = 0; b < 4; b++)
                {
                        if (num1 < num1)
                                max = num1;
                }
                num2 = max;
        }
        for (a = 0; a < 4; a++)
        {
                printf("%d ", num2);
        }


        return 0;
}

请问一下!!哪里出错了~~输出的4个值不对劲

rencaixiaomeng 发表于 2018-12-26 20:33:53

num1是二维数组,你只写一个下标肯定出错的
第二个for循环改成下面
for (a = 0; a < 4; a++)
      {
               max= num1;//max先保存第一个数
                for (b = 1; b < 4; b++)//第一个数已经赋值给max,所以从第二个数开始比较
                {
                        if (max < num1)//这里要拿max和num1比较,而不是把num1和num1这两个相邻的数比较
                              max = num1;
                }
                num2 = max;
      }

祥森 发表于 2018-12-27 14:50:35

rencaixiaomeng 发表于 2018-12-26 20:33
num1是二维数组,你只写一个下标肯定出错的
第二个for循环改成下面
for (a = 0; a < 4; a++)


谢谢~~
页: [1]
查看完整版本: 二维数组中每一行最大的组成一个一维数组