输出一个整数数列中不与最大数相同的数字之和。
输入分为两行:
第一行为N(N 为接下来数的个数,N≤100);
第二行为 N 个整数,数与数之间以一个空格分开,每个整数的范围是 −1000,000到 1000,000。
输出为 N 个数中除去最大数其余数字之和。
3
1 2 3
3
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner s=new Scanner(System.in);
int N=s.nextInt();
int []a=new int [105];
int sum=0;
for(int i=1;i<=N;i++){
int num=s.nextInt();
a[i]=num;
}
Arrays.sort(a,1,N+1);//按从小到大重新排序
for(int i=1;a[i]!=a[N];i++){
sum+=a[i];
}
System.out.println(sum);
}
}
这里用到Java中的Arrays.sort()排序
对一个数组中的所有元素进行排序,并且是按从小到大的顺序
例:
import java.util.*;
public class Main{
public static void main(String[]args){
int[] a = {2,8,7,6,9,5,3,4,1};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}
输出 #1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
对数组部分排序,即数组a的下标从fromIndex到toIndex-1的元素排序
这里要注意的是到toIndex-1,并不包含toIndex下标
例:
import java.util.*;
public class blue5{
public static void main(String[]args){
int[] a = {2,8,7,6,9,5,3,4,1};
Arrays.sort(a,0,5);
System.out.println(Arrays.toString(a));
}
}
输出 #2
[2, 6, 7, 8, 9, 5, 3, 4, 1]