例1:.考试成绩已经保存在数组scores中,依次为 89,23,64,91,119,52,73,-23
要求根据通过自定义方法来找出其中前三名,将数组成绩作为参数传入
要求判断成绩的有效性(0-100),如果成绩无效,则忽略此成绩。
程序:package One;
public class Scores {
public static void paixu(int[] arr1){
int tepm;
for(int i=0;i<arr1.length;i++){
for(int j=i+1;j<arr1.length;j++){
if(arr1[i]<arr1[j]){
tepm=arr1[i];
arr1[i]=arr1[j];
arr1[j]=tepm;
}
}
}
}
public static void main(String[] args){
int [] arr=new int[]{89,23,64,91,119,52,73,-23};
int time=0;
paixu(arr);
for(int i=0;i<arr.length;i++){
if(arr[i]>0&&arr[i]<100&&time<3){
System.out.println(arr[i]);
time++;
}
}
}
}
例2: 用数组来实现, 定义并初始化一个(1–100)保存100个数的数组,从第一个元素开始,依次数(1,2,3 循环往复),每次数到到3的元素淘汰掉.当到达数组末尾的时候再从头开始,直到最后剩余一个元素,写出算法,并输出最后保留的元素所在的最初的位置.
程序:package Two;
public class Round {
public static void main(String[] args){
int[] arr=new int[100];
int k=0;
int j=0;
int temp=0;
int c=0;
for(int i=0;i<100;i++){
arr[i]=i+1;
}
while(k!=100){
if(arr[j]!=0){
if(temp==2){
k++;
arr[j]=0;
temp=0;
c=j;
}else{
temp++;
}
}
j++;
if(j==100){
j=0;
}
}
System.out.println(c);
}
}