第七周上机作业(4.16)
1.有10个评委打分,(去掉一个最高一个最低)求平均分。
public class zxcvbn {
public static void main(String[] args) {
avg10();
}
public static void avg10() {
int[] array = {99, 79, 92, 60, 78,721, 88, 92, 88, 66};
int index = 0, sum = 0, temp = 0, avg = 0 ;
//找到最低分 冒泡排除,从小到大排列
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[j] < array[i]) { //如果是大于号, 将是从大到小
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
//求和
while (array.length != index) {
sum += array[index];
index++;
}
do {
sum = sum - array[0] - array[array.length-1]; //去掉最高分和最低分,
} while (false);
avg = sum / 8;
System.out.println(avg);
}
}
2.自学一下Java随机数,生成一个长度为10的随机数组(每个数的范围是0~99),排序后输出。
import java.util.Random;
public class zxcvbn {
public static void main(String[] args) {
Random r = new Random();
int[] a = new int[10];
for (int i = 0; i < a.length; i++) {
a[i] = r.nextInt(100);
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
3.制作彩票35选7程序。 (就是1~35随机生成7个不重复的数
import java.util.Random;
public class zxcvbn {
public static void main(String[] args) {
int [] num=new int[7];
int i=0,j=0;
Random rand=new Random();//用来获取随机数的
for(i=0;i<7;i++){
num[i]=rand.nextInt(36); //获取36以内的随机数即0-35
for(j=1;j<i;j++){
if(num[j]==num[i]) //判断得到的随机数是否重复,从第2个开始判断,第1个不用判断
break;
}
if(j<i){
i--;
}
}//结果
for(i=0;i<7;i++){
System.out.print(num[i]+"\t");
}
}
}
4.定义一个长度为10的int数组(如果没有特殊说明,静态赋值动态赋值都可以),统计数组中的最大值、最小值、以及奇 数和偶数的个数
public class zxcvbn {
public static void main(String[] args) {
int arr[]= {28,19,37,47,53,46,19,78,98,45};
int arrMax=arr[0];
int arrMin=arr[0];
int arrCountQ=0; //记录奇数个数
int arrCountO=0; //记录偶数个数
for(int i=0;i<arr.length;i++) {
//判断最大值
if(arr[i]>arrMax) {
arrMax=arr[i];
}
//判断最小值
if(arr[i]<arrMin) {
arrMin=arr[i];
}
if(arr[i]%2==0) {
arrCountO +=1; //判断偶数个数
}else {
arrCountQ +=1; //判断奇数个数
}
}
System.out.println("数组的最大值为:"+arrMax);
System.out.println("数组的最小值为:"+arrMin);
System.out.println("数组的偶数个数为:"+arrCountO);
System.out.println("数组的奇数个数为:"+arrCountQ);
}
}