C语言:各位高手帮我看看这个编程哪里错了??error C2143: syntax error : missing ';' before ')'

#include <stdio.h>
void main()
{
int i,j,a[3][5],flag,maxj,max;
printf("Input the array:");
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
max=a[i][0];
maxj=j;

for(j=0;j<5;j++)

if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}

flag=1;
for(i=1;i<3,i++)

if(max>a[i][maxj])
{
flag=0;
break;
}

if(flag)
{
printf("a[%d][%d]=%d\n",i,maxj,max);
break;
}
if(!flag)

printf("It is not exist!\n");
}

}
那麻烦问一下,如果改正后,为什么求不出鞍点??

#include <stdio.h>

void main()

{

int i,j,a[3][5],flag,maxj=0,max,maxx=0;

printf("Input the array:");

for(i=0;i<3;i++)

for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

for(i=0;i<3;i++)

{

max=a[i][0];

for(j=0;j<5;j++)

if(a[i][j]>max)

{

max=a[i][j];

maxj=j;

maxx=i;

}

flag=1;

for(i=1;i<3;i++)

if(max>a[i][maxj])

{

flag=0;

break;

}

if(flag)

{

printf("a[%d][%d]=%d\n",maxx,maxj,max);

break;

}

}

if(!flag)

printf("It is not exist!\n");

}这个能够求出鞍点的,有图有真相

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-12
for 中错了一个字:
flag=1;
for(i=1;i<3,i++)
改为: flag=1;
for(i=1;i<3;i++)

至于要求出鞍点,程序中好像还少了东西追问

少了什么??

第2个回答  2012-03-12
改为如下即可:
#include <stdio.h>
void main()
{ //鞍点,即该位置上的元素在该行上最大,在该列上最小
int i,j,a[3][5],flag,maxj,max;
printf("Input the array:");
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);

for(i=0;i<3;i++)
{
max=a[i][0];
maxj=0;

for(j=0;j<5;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}

flag=1;
for(i=0;i<3;i++)
if(max>a[i][maxj])
{
flag=0;
break;
}

if(flag)
{
printf("a[%d][%d]=%d\n",i,maxj,max);
break;
}
else
printf("It is not exist!\n");
}

}本回答被提问者采纳
相似回答