#include
int main ()
{
int a[3][4], i, j, p1, p2, p3, c1, c2, c3;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf ("%d", &a[i][j]);
}
}
printf ("\n");
c1 = c2= c3 = 0;
p1 = a[0][0];
p2 = a[1][0];
p3 = a[2][0];
for (j = 0; j < 4; j++)
{
if (p1 < a[0][j])
{
p1 = a[0][j];
c1 = j;
}
}
for (j = 0; j < 4; j++)
{
if (p2 < a[1][j])
p2 = a[1][j];
c2 = j;
}
for (j = 0; j < 4; j++)
{
if (p3 < a[2][j])
p3 = a[2][j];
c3 = j;
}
printf ("%3d%3d%3d%3d%3d%3d\n", p1, p2, p3, c1, c2, c3);
for (i = 0; i < 3; i++)
{
if (p1 > a[i][c1])
{
printf ("第一行没有鞍点\n");
break;
}
else
printf ("有鞍点%d\n", p1);
}
for (i = 0; i < 3; i++)
{
if (p2 > a[i][c2])
{
printf ("第二行没有鞍点\n");
break;
}
else
printf ("有鞍点%d\n", p2);
}
for (i = 0; i < 3; i++)
{
if (p3 > a[i][c3])
{
printf ("第三行没有鞍点\n");
break;
}
else
printf ("有鞍点%d\n", p3);
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
printf ("%5d", a[i][j]);
printf ("\n");
}
return 0;
}
你的分支语句写的有问题,你参照这个代码和你以前的比较一下你就会发现的
#include
int main()
{
int a[3][4],i,j,p1,p2,p3,c1,c2,c3;
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
printf("\n");
c1=0;
c2=0;
c3=0;
p1=a[0][0];
p2=a[1][0];
p3=a[2][0];
{ for(j=0;j<4;j++)
if(p1
{p1=a[0][j];
c1=j;
}}
{for(j=0;j<4;j++)
//下面if后面加个大括号,下两处同
if(p2
{p2=a[1][j];
c2=j;
}}
{for(j=0;j<4;j++)
if(p3
{p3=a[2][j];
c3=j;
}}
printf("%3d%3d%3d%3d%3d%3d\n",p1,p2,p3,c1,c2,c3);
//此处加大括号
{for(i=0;i<3;i++){
if(p1>a[i][c1])
{printf("第一行没有鞍点\n");
break;}
if(i==2)printf("有鞍点%d\n",p1);
}}
{for(i=0;i<3;i++){
if(p2>a[i][c2])
{printf("第二行没有鞍点\n");
break;}
//此处更改,三处同样
if(i==2)printf("有鞍点%d\n",p2);
}}
{for(i=0;i<3;i++){
if(p3>a[i][c3])
{printf("第三行没有鞍点\n");
break;}
if(i==2)
printf("有鞍点%d\n",p3);
} }
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
#define N 10
#define M 10
void main( )
{ int i, j, k, m, n, flag1, flag2, a[N][M], max, maxj;
printf("输入行列数n,m:");
scanf("%d%d", &n,&m);
for (i =0; i
flag2=0;
for(i =0; i
for(j=0;j
{ max=a[i][j];
maxj=j;
}
for(k=0,flag1=1;k
flag2=1;}
if(flag1) flag1=0;
}
if(!flag2) printf(" 矩阵中无鞍点!\n");
}
定义数组只能用常量,不能用变量
int i,j,c,d,t;
int a[i][j],a[c][d];
ijcd都是变量,怎么用来定义数组长度呢
printf("%d",a[i][j];}
最后一行还少括号