2016年11月27日 星期日

可傳回一維陣列中最小值與其索引值

package Method; /* 試寫兩函數 * (a)可傳回一維陣列a中最小值 * (b)傳回最小值其索引值 */ public class hw7_12 { public static void main(String[] args) { int a[]={75,29,1,45,16,37,2,9,10}; System.out.println("陣列a的最小值="+ minarray(a)); System.out.println("最小值索引值a["+ minindex(a)+"]"); }

public static int minarray(int data[]){ int min=data[0]; for(int i=0;i<data.length;i++){ if(min>data[i]){ //找出陣列中的最小值 min=data[i]; }
} return min; //回傳最小值 }

public static int minindex(int data[]){
int minindex=0; //必須另外設個整數變數判斷最小值的索引值 int min=data[0]; for(int i=0;i<data.length;i++){ if(min>data[i]){ //找出陣列中的最小值 min=data[i]; minindex=i;
}
/* 條件是min>data[i],如果只在if條件下將minindex=i,會造成i=迴圈執行次數 因此先將min=data[i],讓值互換,再寫上minindex=i,這樣子索引值才會正確 */
} return minindex; //回傳最小值的索引值 } }

沒有留言:

張貼留言