問題描述
給出n個數,找出這n個數的最大值,最小值,和。 輸入格式
第一行為整數n,表示數的個數。
第二行有n個數,為給定的n個數,每個數的絕對值都小於10000。 輸出格式 輸出三行,每行一個整數。第一行表示這些數中的最大值,第二行表示這些數中的最小值,第三行表示這些數的和。 範例輸入 5
1 3 -2 4 5 範例輸出 5
-2
11 資料規模與約定 1 <= n <= 10000。
這個題一看就是用迴圈 我最開始想到的方法是先把數列賦值,然後把第一個數賦值給最大最小和,再進行最大、最小、求和的計算。
但我看了別人的編程,受了啟發。 題目中說了絕對值在10000以內,也就是最小的肯定比-10001大,最大的比10001小,和在加減前肯定都是0。
所以,就可以有了最初的賦值參考。全部設為20000。這樣,就可以用一個迴圈解決。
My Code如下: import java.util.Scanner;
public class attribute {
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int a[]=new int[n]; #這裡有新技術,就是建立數列,哈哈,可能是數組,python裡叫數列,有點混
int max=-20000; #n是數列的空間大小,就是可以放幾個數
int min=20000;
int sum=0;
for(int i=0;i<=n-1;i++){ #在這裡要注意的是,數列都是從0開始的。就是數列的第一個位置是a[0]
a[i]=input.nextInt();
if (a[i]>max){
max=a[i];
}
if (a[i]<min){
min=a[i];
}
sum=sum+a[i];
}
System.out.println(max);
System.out.println(min);
System.out.println(sum);
} }