C语言求出一个3×4的矩阵每一行的最大值

{
int i,j,max=0;
//i为行,j为列
int a[3][4]={1,3,5,7,2,4,6,8,2,4,6,4},b[3];

for(i=0;i<=2;i++)
{
max=0;
for(j=0;j<=3;j++)
if(max<a[i][j])
max=a[i][j];
b[i]=max;
max=a[i][j];
}

for(i=0;i<=2;i++)
{ for(j=0;j<=3;j++)
printf("%d\n",a[i][j]);
printf("max=%d\n",b[i]);
}
}
没有看懂代码每一行在表示什么,麻烦大神帮解释解释,谢谢!

1、/打开Dev-c++软件,点击“新建源代码”。

2、具体程序如下:#include <stdio.h>int main(){int a[3][5]={{1,2,3},{4,5,6},{7,8,9}}。

3、首先要向计算机输入我们矩阵中的所有元素。

4、需要向计算机指出要计算机计算出哪些元素之和和需要计算元素的具体位置在哪儿。、

5、需要定义三个累积和sum1,sum2,sum来进行计算后的结果的暂时存储。

6、程序写完之后,点击运行即可求出我们所要求出的结果了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-01
#include<cstdio>
int main()
{
 int i,j,max=0;//i为行,j为列 
 int a[3][4]={1,3,5,7,2,4,6,8,2,4,6,4}/*定义一个矩阵*/,b[3]/*用来储存每一行的最大值*/;
 for(i=0;i<=2;i++)//i用来枚举行,因为数组定义的时候会从0行到2行的顺序储存,所以从0枚举到2,也就是平常我们说的第一行到第三行 
  {
  max=0;//定义这一行的最大值并将它设为0 
  for(j=0;j<=3;j++)//0到3列,也就是平常我们说的1到4列 
   if(max<a[i][j])//如果第i行第j列的这个数字比max大,那么就需要将目前的最大值更新为比较后的最大值,也就是当前值 
    max=a[i][j];
  b[i]=max;//将max的值储存在b数组中 
  max=a[i][j];//这句是废话..没有任何作用 
 }
 
 for(i=0;i<=2;i++)//枚举行 
 {
  for(j=0;j<=3;j++)
    printf("%d\n",a[i][j]);//将这一行的每一列的数字输出,并且将每个数字见加空行 
   printf("max=%d\n",b[i]); //将这一行的最大值输出 
 }
 
 return 0;

//没有看懂代码每一行在表示什么,麻烦大神帮解释解释,谢谢! 
/*
输出结果 
1
3
5
7
max=7
2
4
6
8
max=8
2
4
6
4
max=6
矩阵的样子 
1 3 5 7 
2 4 6 8 
2 4 6 4
*/

本回答被提问者采纳
相似回答