解题思路: 对输入的数字形成的矩阵进行横向变量,找出其中的最大值,随后对该行进行竖向遍历,找出在横向最大的数在该列是否为最小,通过计数器进行判断是否为最小。


参考代码:

#include <stdio.h>

#define n 5

int main()

{

int a[100][100];

int i,j;

for(i=1;i<=n;i++){

for(j=1;j<=n;j++){

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

}

}

int t;

int q,p;

int b=0,cnt=0,c=0;

t=a[1][1];

int f;

for(i=1;i<=n;i++){

q=i;

p=0;

t=a[q][p];

for(j=1;j<=n;j++){

if(t<a[i][j]){

t=a[i][j];

q=i;

p=j;

}

}

for(f=1;f<=n;f++){

if(a[q][p]<a[f][p]){

b=1;

cnt++;

}

}

if(b==1&&cnt==n-1){

printf("%d %d %d",q,p,a[q][p]);

}

if(cnt==n-1){

c=1;

}

cnt=0;

}

if(c==0){

printf("not found");

}

return 0;

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

一路向晚 2月前 回复TA
彻底疯狂
陈春鹏 1年前 回复TA
int main(){
	int a[5][5];
	int i,j,k,x,y;
	for(i=0;i<5;i++){
		for(j=0;j<5;j++){
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<5;i++){
		for(j=0;j<5;j++){
			for(k=0;k<5;k++){
				if(a[i][j]>=a[i][k]&&a[i][j]<=a[k][j]){
					x=i+1;
					y=j+1;
				}else break;
			}
		}
	}
	printf("%d %d %d",x,y,a[x-1][y-1]);
}

这样为啥不行