定义一个3*4的二维数组,求出每行的最大值.

如题所述

代码如下:

#include<stdio.h>

void main()

{ int a[3][4],i,j;

int max;

printf("输入3*4矩阵\n");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

scanf("%d",&a[i][j]);

}

}//结束数组初始化。

for(i=0;i<3;i++)

{

max=a[i][0];

for(j=0;j<4;j++)

{

if(max<a[i][j])

max=a[i][j];

}

printf("%d\t",max);//找出地i行的最大值,加上扩符号,不易出错。

}//结束数组每行的最大值查找。

//getchar();//可不加

//getchar();

printf("\n");

return ;//可不加。

扩展资料:

二维数组的定义和引用

一、数据类型 数组名[常量表达式1][常量表达式2];

1、假如有个二维数组array[n][m],则行下标的取值范围0~n-1

2、列下标的取值范围0~m-1

3、二维数组的最大下标元素是array[n-1][m-1];

假如有一个数组array[3][4];则其下标变量为 array[0][0],array[0][1],array[0][2],array[0][3],array[1][0],array[1][1],array[1][2],array[1][3],array[2][0],array[2][1],array[2][2],array[2][3]

二、二维数组的引用

数组名[下标][下标];

array[1][2]

三、二维数组初始化

1、可以将所有数据写在一个大括号内,按照数组元素排序对元素赋值。int array[2][2]={1,2,3,4};

2、在为所有元素赋初值时,也可以省略行下标,但是不能省略列下标。int array[][3]={1,2,3,4,5,6};

3、也可以分行给数组元素赋值。 int a[2][3]={{1,2,3},{4,5,6}}; a[0][0]=1;a[0][1]=2;a[0][2]=3...

在分行赋值时,可以只对部分元素赋值。int a[2][3]={{1,2},{4,5}};a[0][0]=1;a[0][1]=2;a[0][2]=0;a[1][0]=4;a[1][1]=5;a[1][2]=0;

4、二维数组也可以直接对数组元素赋值。int a[2][3]; a[0][0]=1;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-23
#include<stdio.h>
void main()
{ int a[3][4],i,j;
int max;
printf("输入3*4矩阵\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
}//结束数组初始化。

for(i=0;i<3;i++)
{
max=a[i][0];
for(j=0;j<4;j++)
{
if(max<a[i][j])
max=a[i][j];
}
printf("%d\t",max);//找出地i行的最大值,加上扩符号,是逻辑清晰,不易出错。
}//结束数组每行的最大值查找。
//getchar();//可不加
//getchar();
printf("\n");
return ;//可不加。
} //你的程序好像没问题。
第2个回答  推荐于2016-05-26
void main()
{ int a[3][4],i,j;
int max;
printf("输入3*4矩阵\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);

for(i=0;i<3;i++)
{
max=a[i][0];
for(j=0;j<4;j++)
if(max<a[i][j])
max=a[i][j];
printf("%d\t",max);
}
getchar();
getchar();
}本回答被提问者和网友采纳