使用lua用随机函数生成一个长度为10的数组,去掉其中的最大最小值,计算剩余8个值的平均数,要求输出这个数组与计算出的平均值
时间: 2024-06-04 20:14:01 浏览: 59
-- 生成随机数组
local arr = {}
for i = 1, 10 do
arr[i] = math.random(1, 100)
end
-- 输出随机数组
print("生成的随机数组为:")
for i = 1, 10 do
io.write(arr[i] .. " ")
end
print("\n")
-- 去掉最大最小值
local max = arr[1]
local min = arr[1]
local sum = 0
for i = 1, 10 do
if arr[i] > max then
max = arr[i]
end
if arr[i] < min then
min = arr[i]
end
sum = sum + arr[i]
end
sum = sum - max - min
-- 计算平均数
local avg = sum / 8
-- 输出结果
print("去掉最大最小值的数组为:")
for i = 1, 10 do
if arr[i] ~= max and arr[i] ~= min then
io.write(arr[i] .. " ")
end
end
print("\n")
print("剩余8个数的平均数为:" .. avg)
相关问题
使用lua 定时往两个数组存入数,并计算数组中最大最小值只差
以下是使用 Lua 实现的代码,其中包括了定时往两个数组中存入数、计算数组中最大最小值只差的功能:
```lua
-- 定义两个数组
local arr1, arr2 = {}, {}
-- 每隔1秒向数组中添加一个随机数
local function addRandomNumber()
table.insert(arr1, math.random(1, 100))
table.insert(arr2, math.random(1, 100))
end
-- 每隔2秒计算数组中最大最小值只差
local function calculateDifference()
local max1, min1, max2, min2 = arr1[1], arr1[1], arr2[1], arr2[1]
for i = 2, #arr1 do
if arr1[i] > max1 then
max1 = arr1[i]
end
if arr1[i] < min1 then
min1 = arr1[i]
end
if arr2[i] > max2 then
max2 = arr2[i]
end
if arr2[i] < min2 then
min2 = arr2[i]
end
end
local difference = math.abs(max1 - min1) + math.abs(max2 - min2)
print('Difference: ' .. difference)
end
-- 每隔1秒往两个数组中添加一个随机数
local timer1 = timer.performWithDelay(1000, addRandomNumber, 0)
-- 每隔2秒计算数组中最大最小值只差
local timer2 = timer.performWithDelay(2000, calculateDifference, 0)
```
这段代码使用了 Corona SDK 的定时器功能,可以在不阻塞主线程的情况下实现定时往数组中添加数和计算数组中最大最小值只差的功能。在实际使用时,需要根据具体需求进行调整。
使用lua 将两组数分别存入两个数组,并计算数组中最大最小值只差
以下是使用Lua将两组数分别存入两个数组,并计算数组中最大最小值之差的代码:
```lua
-- 定义两个数组
local arr1 = {5, 2, 8, 1, 4}
local arr2 = {9, 3, 6, 7, 2}
-- 定义函数,计算数组中最大最小值之差
function calc_diff(arr)
local max_num = arr[1]
local min_num = arr[1]
-- 遍历数组,找出最大值和最小值
for i = 2, #arr do
if arr[i] > max_num then
max_num = arr[i]
end
if arr[i] < min_num then
min_num = arr[i]
end
end
-- 计算最大值和最小值之差
local diff = max_num - min_num
return diff
end
-- 输出两个数组的最大最小值之差
print("arr1的最大最小值之差为:" .. calc_diff(arr1))
print("arr2的最大最小值之差为:" .. calc_diff(arr2))
```
输出结果如下:
```
arr1的最大最小值之差为:7
arr2的最大最小值之差为:7
```
阅读全文