问题:
在处理最大值时没有注意到负值的情况被后来的正值所代替,例如当最大值为-7时,直接将-7赋给max,这时max=-7就会被后面的2所取代,因为2>-7,在另设置存最大值的值后就行了,当出现错误时可以采取一个个带到程序中运算来排查错误。
当不需连续输出一组数时应优先考怒不用数组,这样可以减少一个输入的for循环。
2 3 1 4 -3 -7 3 0
2 1 -7代码:import java.util.*; public class Main{ static int abss(int a) { return a>0?a:(-a); } public static void main(String args[]){ Scanner cin=new Scanner(System.in); int n,m; int max,ans; int x = 0,y=0,z=0; while(cin.hasNext()){ n=cin.nextInt(); m=cin.nextInt(); max=-1; ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { z=cin.nextInt(); if(max<abss(z)) { max=abss(z); ans=z; x=i; y=j; } } } System.out.println(x+" "+y+" "+ans); } } }
原文地址:http://blog.csdn.net/amx50b/article/details/45843095