#include <stdio.h>
int main(){
int i,j,max,min,temp,m,n,k;
int a[11][11];
scanf("%d %d",&m,&n);
for (i=0;i<m;i++){
for (j=0;j<n;j++){
scanf("%d",&a[i][j]);//读入数据
}
}
for (i=0;i<m;i++){//挨行遍历
max=a[i][0];
for (j=0;j<n;j++){
if (a[i][j]>max);//找一行最大的
max=a[i][j];
k=j;//记住所在列
temp=max;
min=temp;
for (i=0;i<m;i++){
if(a[i][k]<temp){
min=a[i][j];
if (max==min){
printf("%d",min);
}
}
}
}
}
return 0;
}
有关鞍点的错误,哪里错了?球球!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 沐川 2021-04-15 16:32关注
你这个调试,有点儿费力O(∩_∩)O哈!
如下:
#include <stdio.h> int main(){ int i,j,max,min,temp,m,n,k,x,flag=0; int a[9][9]; scanf("%d %d",&m,&n); for (i=0;i<m;i++){ for (j=0;j<n;j++){ scanf("%d",&a[i][j]);//读入数据 } } for (i=0;i<m;i++){//挨行遍历 max=a[i][0]; for (j=0;j<n;j++){ if (a[i][j]>max)//找一行最大的 { max=a[i][j]; k=j;//记住所在列 } } for (x=0;x<n;x++){ if(a[i][k]>a[x][k]){ flag=1; } } if (flag==0){ printf("%d",a[i][k]); } flag=0; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报