题目:
某次歌曲大奖赛,有7个评委。随机函数生成7个(1-10)的数或直接赋值的方法给定7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
由题我们可知:需要七个数据(这七个数据需要随机获取或者直接赋值),每个数据在(1-10)之间,计算方法需要去掉一个最高分和一个最低分(需要进行比大小),最后算出平均分。
这里小编介绍一下随机数据的方法,具体代码如下:
// 创建一个随机数组
let arr=new Array();
for(let i=0;i<7;i++){
arr[i] = Math.ceil(Math.random()*10);
}
console.log(arr);
// 找出最大值
let max = arr[0];
for(let i=0; i<arr.length ;i++){
if(max < arr[i] ){
max = arr[i];
}
}
console.log('最大值为:' + max);
// 找出最小值
let min = arr[0];
for(let i=0; i<arr.length ;i++){
if(min > arr[i] ){
min = arr[i];
}
}
console.log('最小值为:' + min);
// 平均分运算
function sum(num){
let sum = 0;
for(let i=0; i<arr.length; i++){
sum += arr[i]
}
num = sum - min - max;
console.log('平均分为:'+ num);
}
sum();
首先通过Math.random 方法 获取一个随机数,这里需要注意一下:我们Math.random 方法随机获取的数据是带有小数的,所以我们需要通过Math.ceil 方法来进行取整。然后通过for 循环和 if 语句进行判断比较大小 找出随机数组里的最大最小值。 最后通过构造一个函数来计算平均分。
值得一提的是 Math.random 方法 :
Math.random()*10 -> ‘ * ’ 后面 表示的是取值范围 “ * 10 ” 表示取值范围为(1-10)之间
“ * 100 ” 则表示取值范围为(1-100)之间,依次类推。