问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
样例输出
5
-2
11
数据规模与约定
1 <= n <= 10000。
这个题一看就是用循环
我最开始想到的方法是先把数列赋值,然后把第一个数赋值给最大最小和,再进行最大、最小、求和的计算。
但我看了别人的编程,受了启发。
题目中说了绝对值在10000以内,也就是最小的肯定比-10001大,最大的比10001小,和在加减前肯定都是0。
所以,就可以有了最初的赋值参考。全部设为20000。这样,就可以用一个循环解决。
我的代码如下:
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);
}
}