用JAVA实现从数组中找到第三大的数字
实现方法:
1.将数组进行排列,我这里用的是冒泡排序。
2.设置计数的变量,每执行一次循环计数加1,遇到相同的减1,当达到计数为3时,输出第三大的数字
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s1 = new Scanner(System.in);
int a[]=new int[100];
int num=0;
num=s1.nextInt();
int temp=0;
for(int i=0;i<num;i++){
a[i]=s1.nextInt();
}
for(int i=0;i<num;i++){//冒泡排序
for(int j=0;j<num-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
int max=a[num-1];先给max赋数组最大值
int count=0;
for(int i=num-1;i>=0;i--){
count++;循环没执行一次加1
if(max>a[i]){
max=a[i];
}
else if(max==a[i]){
count--;///再次遇到相同数字,减1
}
if(count==3){
System.out.println("第三大的数字为:"+a[i+1]);
return;
}
}
if(count!=3){
System.out.println("不存在这种数字");
}
}
}