签名:但行好事,莫问前程。
文章目录
- 前言
- 一、计算数组的最大值、最小值、总和、均值
- 二、评委打分
- 总结
前言
学习记录一下数组常见的算法题。
一、计算数组的最大值、最小值、总和、均值
需求:定义一个int型的数组,分别赋予随机两位数整数【10 - 99】,求出最大值、最小值、总和、均值。
代码:
public class ArrayTest {
public static void main(String[] args) {
// 定义一个长度为10的数组
int[] ints = new int[10];
// 接收总和、均值
int sum = 0;
double avg = 0.0;
for (int i = 0; i < ints.length; i++) {
// 赋予随机两位数整数【10 - 99】
ints[i] = (int) (Math.random() * (99 - 10 + 1)) + 10;
System.out.print(ints[i] + "\t");
sum += ints[i];
}
int max = ints[0];
int min = ints[0];
for (int i = 1; i < ints.length; i++) {
if (max < ints[i]) {
max = ints[i];
}
if (min > ints[i]) {
min = ints[i];
}
}
avg = (double) sum / ints.length;
System.out.println();
System.out.println("当前数组的最大值:" + max + ",最小值:" + min + ",总和是:" + sum + ",平均值是:" + avg);
}
}
运行结果:
二、评委打分
需求:用随机数组模拟十位评委打分(分数在0-10分),去掉一个最高分,一个最低分,然后取剩下8位评委的平均分数最为最终分数。
代码:
public class ArrayTest {
public static void main(String[] args) {
// 定义一个长度为10的数组
int[] ints = new int[10];
// 接收总和、均值
int sum = 0;
double avg = 0.0;
System.out.println("十位评委打分如下:");
for (int i = 0; i < ints.length; i++) {
// 赋予随机两位数整数【0 - 10】
ints[i] = (int) (Math.random() * 10);
System.out.print(ints[i] + "\t");
sum += ints[i];
}
int max = ints[0];
int min = ints[0];
for (int i = 1; i < ints.length; i++) {
if (max < ints[i]) {
max = ints[i];
}
if (min > ints[i]) {
min = ints[i];
}
}
avg = (double) (sum - max - min) / (ints.length - 2);
System.out.println();
System.out.println("去掉最高分:" + max + ",去掉最低分:" + min + ",最终得分是:" + avg);
}
}
运行结果:
总结
博客主要记录了数组常见的算法题,有啥错误或不足地方请指正,如果对你有所帮助,请一键三连。