解圣洁 发表于 2017-11-2 17:01:56

程序不知道哪里错误

如题 题目是一个二维数组,找出该数组中行最大列最小的数字,也可能没有
下面是代码
#include <stdio.h>

#define M 5
#define N 4
int main()
{
        int a;
        int i,j,k,max,l;
        printf("请给这个数组输入数:");                     
        for (i=0;i<N;i++)
        {
                for (j=0;j<M;j++)
                {
                        scanf("%d",&a);    // 每次循环输入一个数
                }
        }
       
    for (i=0;i<N;i++)                              
        {
                max=a;               //使每行第一个数值循环赋值max
                for (j=0;j<M;j++)
                {
                        if (max<a)         //用max去比较每行的数字
                        {
                                max=a;         //若大于max 则赋值max
                                l=j;               //每行最大数所在的列赋值L
                        }
                       
                        for (k=0;k<N;k++)
                                if (max<a)
                                {
                                        printf("这个数是该行最大该列最小a[%d][%d]=%d\n",k,l,max);
                                        break;                  //如果是break跳出
                                }
                                else
                                {
                                        continue;
                                }       
                }
        }

}

范富瀚 发表于 2017-11-2 17:28:54

scanf("%d",&a);

BngThea 发表于 2017-11-2 17:30:40

1 scanf输入目标不对
2 后面的逻辑错误
                     for (k=0;k<N;k++)
                              if (max<a)
                              {
                                        printf("这个数是该行最大该列最小a[%d][%d]=%d\n",k,l,max);
                                        break;                  //如果是break跳出
                              }
后面的else完全多余
这里就输出不对,满足这个条件还不够

解圣洁 发表于 2017-11-2 17:39:34

BngThea 发表于 2017-11-2 17:30
1 scanf输入目标不对
2 后面的逻辑错误
                     for (k=0;k

大佬scanf哪里改了 后面还是没搞懂,满足条件不够是说什么

解圣洁 发表于 2017-11-2 17:40:08

BngThea 发表于 2017-11-2 17:30
1 scanf输入目标不对
2 后面的逻辑错误
                     for (k=0;k

前面的scanf看了那么久竟然没注意到 ,扎心了

BngThea 发表于 2017-11-2 18:30:22

解圣洁 发表于 2017-11-2 17:39
大佬scanf哪里改了 后面还是没搞懂,满足条件不够是说什么

你这里只要有一个比他大就输出,不能满足列最小

解圣洁 发表于 2017-11-2 20:26:26

BngThea 发表于 2017-11-2 18:30
你这里只要有一个比他大就输出,不能满足列最小

谢谢大佬指教
页: [1]
查看完整版本: 程序不知道哪里错误