关于鞍点:
{以下给出的是列最大,行最小的鞍点}{希望能给你带来些帮助!!!}
当然对于列最小,行最大的鞍点,只需改一下i,j的值!
对于i=j的情况
#include “stdio.h”
int main()
{
int a[4][4],i,j,k;
printf(“please input array a:”);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);
printf(“\n array a:”);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf(“%d\t”,a[i][j]);
printf(“\n”);
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
if(a[i][j]>=a[i][k]&&a[i][j]<=a[k][j])
continue;
else
break;
}
if(k==4)
printf(“a[%d][%d]=%d\n”,i,j,a[i][j]);
}
}
当然,能看懂的的就会知道里面有很多废话,核心明白就好!
对于i不等于j时,也就是行不等于列时,有:
#include "stdio.h"
int main()
{
int a[4][5],i,j,n,m;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
for(m=0;m<5;m++)
{
if(a[i][j]>=a[i][m])
continue;
else
break;
}
if(m==5)
{
for(n=0;n<4;n++)
{
if(a[i][j]<=a[n][j])
continue;
else
break;
}
if(n==4)
printf("%3d",a[i][j]);
}
}
}
以上程序都是在经过c程序运行后,在copy的。
如果还有什么别的问题,请留言。很乐意帮你!
展开阅读全文