求大佬帮忙看一下C语言程序哪里有问题?
#include<stdio.h>intmain(){intflag,i,j,k,row,col,n,a[6][6];scanf("%d",&n);for(i=0;i<n...
#include<stdio.h>
int main()
{
int flag,i,j,k,row,col,n,a[6][6];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
row=i;col=0;
for(j=1;j<n;j++)
if(a[row][col]<a[row][j])
col=j;
flag=1;
for(k=0;k<n;k++)
if(a[row][col]>a[k][col])
{
flag=0;
break;
}
}
if(flag)
printf("a[%d][%d]=%d\n",row,col,a[row][col]);
else
printf("NO\n");
}
内容是,输入 1 个正整数 n(1≤n≤6)和 n 阶方阵 a 中的元素,假设方阵 a 最多有1个鞍点,如果找到 a 的鞍点, 就输出其下标, 否则,输出"NO"。鞍点的元素值在该行上最大, 在该列上最小。示例:输入 4(n=4)1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9,输出 a[2][1]=6
这是我的运行结果,跟示例不一样,求教哪里出错了? 展开
int main()
{
int flag,i,j,k,row,col,n,a[6][6];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
row=i;col=0;
for(j=1;j<n;j++)
if(a[row][col]<a[row][j])
col=j;
flag=1;
for(k=0;k<n;k++)
if(a[row][col]>a[k][col])
{
flag=0;
break;
}
}
if(flag)
printf("a[%d][%d]=%d\n",row,col,a[row][col]);
else
printf("NO\n");
}
内容是,输入 1 个正整数 n(1≤n≤6)和 n 阶方阵 a 中的元素,假设方阵 a 最多有1个鞍点,如果找到 a 的鞍点, 就输出其下标, 否则,输出"NO"。鞍点的元素值在该行上最大, 在该列上最小。示例:输入 4(n=4)1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9,输出 a[2][1]=6
这是我的运行结果,跟示例不一样,求教哪里出错了? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询