Java写鞍点的程序_JAVA程序语言与设计:找鞍点的程序(不是设计,仅要分析答案即可)...

题目原内容:程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat(0

题目原内容:

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0

输入 1 个正整数 n和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输

出"NO"(设a最多有1个鞍点)。

例:括号内是说明

输入:

2 (repeat=2)

4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4)

2 1 7 4 1 (n=2)

输出:

a[2][1]=6

NO

参考答案:

import java.util.Scanner;

public class Test60019{

public static void main(String []args){

int ri, repeat;

int i,j,k,row,col,n,a[][];

boolean flag;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

n=in.nextInt();

a=new int[n][n];

for (i=0;i

for (j=0;j

a[i][j]=in.nextInt();

/*---------*/

row=0;col=0;

flag=false;

for(i=0;i

col=0;

for(j=0;j

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

col=j;

row=i;

for(k=0;k

if(a[k][col]

if(row==i) {

flag=true;

break;

}

}

if(flag)

System.out.println("a["+row+"]["+col+"]="+a[row][col]);

else

System.out.println("NO");

}

}

}

我不是很理解一个地方:一开始i的值给了row,然后k的值也给了row,

那么i的值不是被覆盖掉了么,为什么在最后面的if判断里还是在判断row==i ???

展开

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值