从10个人之中挑最高的两个人,请用JAVA写出算法

来源:百度知道 编辑:UC知道 时间:2024/06/27 03:19:27
从10个人之中挑最高的两个人,请用JAVA写出算法

没有必要两次扫描。以下是我的程序。r[0]为最大,r[1]次之。数据存在数组a中

class B{
public static void main(String[] args){
int a[] = {1,3,5,7,9,2,4,6,8,10};
int r[] = new int[2];
max(a, r);
System.out.println("The max number is:" + r[0]);
System.out.println("The sec-max number is:" + r[1]);
}

public static void max(int a[], int r[]) {
r[0] = r[1] = a[0];
for (int i=1; i<a.length; i++) {
if (r[0] < a[i]) {
r[1] = r[0];
r[0] = a[i];
}
}
}

}

下面为求两个最大数的函数,nums[]为10个人身高的数组。最后得出的s1为最高的人,s2为第二高的人。
public void max()
{ int s1;
int s2;
s1=nums[0];
for(int a=1;a<=9;a++){
if(s1<nums[a]) {
nums[0]=nums[a];
nums[a]=s1;
s1=nums[0];
}
}
s2=num[1];
for(int a=2;a<=9;a++){
if(s2<nums[a]) {
s2=nums[a];
}
}
System.out.println("The max