输出矩阵中的鞍点,结果多了一个,求解
#include<stdio.h>int main()
{
int a,i,j,max,k,c,count=0;
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
scanf("%d",&a);
}
for(i=0;i<3;i++)
{
max=a;
for(j=0;j<4;j++)
{
if(a>max)
{
max=a;
k=j;
}\\选出一行中的最大值
}
for(c=0;c<3;c++)
{
if(a>=max)
{
count++;
}
if(count==3)
{
printf("%d",max);
}\\判断是否为一列中的最小值
}
}
}
输入 我的结果
879011098 110 210
709721065
984512030 #include<stdio.h>
int main()
{
int a,i,j,max,k,c,count=0;
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
scanf("%d",&a);
}
for(i=0;i<3;i++)
{
max=a;
for(j=0;j<4;j++)
{
if(a>max)
{
max=a;
k=j;
}\\选出一行中的最大值
}
for(c=0;c<3;c++)
{
if(a>=max)
{
count++;
}
if(count==3)count没有归零 第二次 max = 210的时候 count=3 所以打印出来了 第三次 max=120 因为110<120 所以count++了一次变成4 所以没打印
{
printf("%d",max);
}\\判断是否为一列中的最小值
}
}
} #include<stdio.h>
void main()
{
int a={{1,2,3},{4,5,6},{7,8,9}};
int i,j,max,k,c,count=0;
//for(i=0;i<3;i++)
// { for(j=0;j<4;j++)
// scanf("%d",&a);
// }
for(j=0;j<4;j++)
{
if(a>max)
{
max=a;
k=j;
}//选出一行中的最大值
}
for(c=0;c<3;c++)
{
if(a>=max)
{
count++;
}
if(count==3)
{
printf("%d\n",max);
}//判断是否为一列中的最小值
}
}
页:
[1]