C语言输出二维数组每一列的最大值!(跪求大神)

C语言输出二维数组每一列的最大值!

注意是每一列!

第1个回答  2015-01-08
输出结果是什么格式?有没有要求?这么简单的代码,很快的,说清楚,很容易实现追问

没格式
就输出
8897
就行了!谢谢你!

追答#include <stdio.h>
int main()
{
int a[3][4]={
{6,2,5,7},
{8,2,4,6},
{7,8,9,0}
};
int b[4];
int i,j;
for( i=0;i<4;i++ )
{
b[i]=a[0][i];
for( j=1;j<3;j++ )
{
if ( a[j][i] > b[i] )
b[i]=a[j][i] ; 
}
printf("%d", b[i] );
}
printf("\n");
return 0;
}

追问

请问如果改成
for(j=0;j<3;j++)
{
for(i=0;i<4;i++)

{
}

}
这个循环怎么写 我想比较一下!谢谢你!(最好加上注释)

追答#include <stdio.h>
int main()
{
    int a[3][4]={
        {6,2,5,7},
        {8,2,4,6},
        {7,8,9,0}
    };
    int b[4];
    int i,j;
    for( i=0;i<3;i++ ) //按行遍历,则不能在遍历过程中输出数据
    {
        for( j=0;j<4;j++ )
        {
if ( i==0 ) //先默认将第一行当作最大值
b[j]=a[i][j] ;
else
if ( a[i][j] > b[j] ) //比较其余行对应的b中的列
b[j]=a[i][j] ; 
        }
    }
for( i=0;i<4;i++ ) //比较完成后,输出结果
printf("%d", b[i] );
    printf("\n");
    return 0;
}

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