最高分最低分問題,求大神解答
import java.util.Scanner;
public class Job4 {
?public static void main(String[] args){
??
?
??float[] scores=new float[10];???
??
?
??Scanner input=new Scanner(System.in);
??System.out.println("請輸入10個分?jǐn)?shù):");
??for (int i=0;i<10;i++){
???
???scores[i]=input.nextFloat();}
??float max=scores[0];
??float min=scores[0];??????????????? //大神們,這句話為什么我放在下劃線下面輸出結(jié)果最小值會是0啊,無論輸入什么數(shù),最小值都是0
??
??for (int i=0;i<10;i++){
???
???
??
??
??if (scores[i]>max){
???max=scores[i];
??}
??if (scores[i]<min){
???min=scores[i];
??}
???
??}
??double sum=0;
??double avg=0;
??for (int i=0;i<scores.length-2;i++){
???if ((scores[i]>min)&&(scores[i]<max)){
????sum=sum+scores[i];
????
???}
??}
??avg=sum/(scores.length-2);
??System.out.println("max="+max);
??System.out.println("min="+min);
??System.out.println("avg="+avg);
??
?}
}
2015-04-03
因為定義最小值是在你輸入數(shù)據(jù)之前 ,系統(tǒng)默認(rèn)數(shù)組的第一個數(shù)為0 ?,你后面的判斷也就是和0 比較了 ,你要輸入的數(shù)有比0小的 ?,輸出的就不i是0 了。
2015-04-02
你放在循環(huán)外面了,不隨外層循環(huán)的進行而改變。而實際上沒輸入一個新的數(shù)字需要重新判斷并設(shè)置最大最小值的比較基準(zhǔn),所以一直都是0。