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; //回傳最小值的索引值
}
}
沒有留言:
張貼留言