C语言中关于二维数组的“鞍点”问题
发布网友
发布时间:2022-04-28 12:00
我来回答
共2个回答
热心网友
时间:2023-10-08 20:43
#include <stdio.h>
int main()
{
int a[3][3]={7,8,9,4,5,6,1,2,3};
int b[10];
int i,j,hmax,lmin,*p_hmax,*p_lmin;
p_hmax=&hmax;
p_lmin=&lmin; /*i行 j列 hmax行最大 lmin列最小*/
for(i=0;i<=2;i++) /*求出每行的最大数*/
{
hmax=a[i][0];
for(j=0;j<=2;j++)
{
if(hmax<a[i][j])
{
hmax=a[i][j];
}
}
b[i]=*p_hmax;
}
for(j=0;j<=2;j++) /*求出每列的最小数*/
{
lmin=a[0][j];
for(i=0;i<=2;i++)
{
if(lmin>a[i][j])
{
lmin=a[i][j];
}
}
b[j+3]=*p_lmin;
}
for(i=0;i<=2;i++) /*判断每行的最大数和每列的最小数是否相等*/
if(b[i]==b[i+3])
printf("%d\n",b[i]);
else
printf("没有鞍点\n");
return 0;
}
你试试吧!!我在vs上调试的
热心网友
时间:2023-10-08 20:44
行最大列最小问题
先找出各行的最大值在哪 max= a[hang][lie] hang一定lie变
再找出改行最大值是不是这一列的最小值 min=a[hang][lie] lie一定hang变
#include <stdio.h>
int main()
{
int a[3][3] = {1,8,6,2,7,3,4,9,5};
int i,j,ani,anj,flag=0,max,min;
for(i=0;i<3;i++)
{
max= a[i][0];
anj=0;
for(j=0;j<3;j++)
{
if( max < a[i][j])
{
max= a[i][j];
anj=j;
}
}
min=a[0][anj];
ani=0;
for(j=0;j<3;j++)
{
if( min > a[j][anj])
{
min= a[j][anj];
ani=j;
}
}
if(i==ani)
{
printf("andianshi a[%d][%d]",ani,anj);flag++;
}
puts("");
}
if(flag==0)
{
printf("没有鞍马点!");
}
}
热心网友
时间:2023-10-08 20:43
#include <stdio.h>
int main()
{
int a[3][3]={7,8,9,4,5,6,1,2,3};
int b[10];
int i,j,hmax,lmin,*p_hmax,*p_lmin;
p_hmax=&hmax;
p_lmin=&lmin; /*i行 j列 hmax行最大 lmin列最小*/
for(i=0;i<=2;i++) /*求出每行的最大数*/
{
hmax=a[i][0];
for(j=0;j<=2;j++)
{
if(hmax<a[i][j])
{
hmax=a[i][j];
}
}
b[i]=*p_hmax;
}
for(j=0;j<=2;j++) /*求出每列的最小数*/
{
lmin=a[0][j];
for(i=0;i<=2;i++)
{
if(lmin>a[i][j])
{
lmin=a[i][j];
}
}
b[j+3]=*p_lmin;
}
for(i=0;i<=2;i++) /*判断每行的最大数和每列的最小数是否相等*/
if(b[i]==b[i+3])
printf("%d\n",b[i]);
else
printf("没有鞍点\n");
return 0;
}
你试试吧!!我在vs上调试的
热心网友
时间:2023-10-08 20:44
行最大列最小问题
先找出各行的最大值在哪 max= a[hang][lie] hang一定lie变
再找出改行最大值是不是这一列的最小值 min=a[hang][lie] lie一定hang变
#include <stdio.h>
int main()
{
int a[3][3] = {1,8,6,2,7,3,4,9,5};
int i,j,ani,anj,flag=0,max,min;
for(i=0;i<3;i++)
{
max= a[i][0];
anj=0;
for(j=0;j<3;j++)
{
if( max < a[i][j])
{
max= a[i][j];
anj=j;
}
}
min=a[0][anj];
ani=0;
for(j=0;j<3;j++)
{
if( min > a[j][anj])
{
min= a[j][anj];
ani=j;
}
}
if(i==ani)
{
printf("andianshi a[%d][%d]",ani,anj);flag++;
}
puts("");
}
if(flag==0)
{
printf("没有鞍马点!");
}
}
热心网友
时间:2023-10-08 20:43
#include <stdio.h>
int main()
{
int a[3][3]={7,8,9,4,5,6,1,2,3};
int b[10];
int i,j,hmax,lmin,*p_hmax,*p_lmin;
p_hmax=&hmax;
p_lmin=&lmin; /*i行 j列 hmax行最大 lmin列最小*/
for(i=0;i<=2;i++) /*求出每行的最大数*/
{
hmax=a[i][0];
for(j=0;j<=2;j++)
{
if(hmax<a[i][j])
{
hmax=a[i][j];
}
}
b[i]=*p_hmax;
}
for(j=0;j<=2;j++) /*求出每列的最小数*/
{
lmin=a[0][j];
for(i=0;i<=2;i++)
{
if(lmin>a[i][j])
{
lmin=a[i][j];
}
}
b[j+3]=*p_lmin;
}
for(i=0;i<=2;i++) /*判断每行的最大数和每列的最小数是否相等*/
if(b[i]==b[i+3])
printf("%d\n",b[i]);
else
printf("没有鞍点\n");
return 0;
}
你试试吧!!我在vs上调试的
热心网友
时间:2023-10-08 20:44
行最大列最小问题
先找出各行的最大值在哪 max= a[hang][lie] hang一定lie变
再找出改行最大值是不是这一列的最小值 min=a[hang][lie] lie一定hang变
#include <stdio.h>
int main()
{
int a[3][3] = {1,8,6,2,7,3,4,9,5};
int i,j,ani,anj,flag=0,max,min;
for(i=0;i<3;i++)
{
max= a[i][0];
anj=0;
for(j=0;j<3;j++)
{
if( max < a[i][j])
{
max= a[i][j];
anj=j;
}
}
min=a[0][anj];
ani=0;
for(j=0;j<3;j++)
{
if( min > a[j][anj])
{
min= a[j][anj];
ani=j;
}
}
if(i==ani)
{
printf("andianshi a[%d][%d]",ani,anj);flag++;
}
puts("");
}
if(flag==0)
{
printf("没有鞍马点!");
}
}