如何找到矩阵中一行的最大值和总和

时间:2019-08-14 02:03:33

标签: c matrix

据我所知,我输入的内容应该可以正常工作,但是我是C语言的新手,无法提出为什么原因不正确的信息。每个函数都可以单独正常运行,但是由于某些原因,它们一起会产生奇怪的错误。

#include <stdio.h>
#include<conio.h>

main()
{
   int m, n, c, d, sum, matrix[10][10], maximum;

   printf("Enter the number of rows and columns of matrix\n");
   scanf("%d%d",&m,&n);
   printf("Enter the elements of matrix\n");

   for( c = 0 ; c < m ; c++ )
   {
      for( d = 0 ; d < n ; d++ )
      {
         scanf("%d",&matrix[c][d]);
      }
   }

   maximum = matrix[0][0];

//Maximum
   for( c = 0 ; c < m ; c++ )
   {
      for( d = 0 ; d < n ; d++ )
      {
         if ( matrix[c][d] > maximum )
            maximum = matrix[c][d];
      }
   }
   //Sum
   for (c = 0; c < m; ++c)
   {
        for (d = 0; d < n; ++d)
        {
            sum = sum + matrix[c][d] ;
        }

        printf("Sum of the %d row is = %d\n", c, sum);
        sum = 0;

    }

    printf("Maximum element in matrix is %d\n", maximum);

   getch();
   return 0;
}

1 个答案:

答案 0 :(得分:2)

您正在对int sum进行加法运算,然后将其初始化为0。在声明时将sum初始化为0,这应该可以解决您的问题。