做完作业了 感觉不怎么好 求算法~~~
#include <stdio.h>#include <math.h>
void main()
{
int a[2][3];
int i,j,h=0,l=0,max1,max2,r,h1=0,l1=0;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max1=a[i][j];
for(i=0,j=0;j<3;j++)
if(max1>a[i][j])
{
max1=a[i][j];
h=i;
l=j;
}
printf(" h=%d l=%d\n",h,l);
max2=a[i][j];
for(i=1,j=0;j<3;j++)
if(max2>a[i][j])
{
max2=a[i][j];
h1=i;
l1=j;
}
printf(" h1=%d l1=%d\n",h1,l1);
printf(" max1=%d max2=%d\n",max1,max2);
for(i=0,j=l;i<2;i++)
if(max1<a[i][j])
max1=0;
for(i=0,j=l1;i<2;i++)
if(max2<a[i][j])
max2=0;
printf(" max1=%d max2=%d\n",max1,max2);
if(max1==0)
r=max2;
else if(max2==0)
r=max1;
else if(max1==0&&max2==0)
r=0;
printf("r=%d\n",r);
}
看了下答案的算法,只求所有列最大的就可以了吗?比如1 2 3
4 5 6 鞍点不是4吗