使用lua 将两组数分别存入两个数组,并计算数组中最大最小值只差
时间: 2023-11-22 07:55:48 浏览: 34
以下是使用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
```
相关问题
使用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中,两个数组可以通过table.concat函数将它们合并成一个新的数组。下面是一个示例代码:
```lua
array1 = {1, 2, 3}
array2 = {4, 5, 6}
mergedArray = {}
for i=1, #array1 do
table.insert(mergedArray, array1[i])
end
for i=1, #array2 do
table.insert(mergedArray, array2[i])
end
```
在上面的代码中,我们首先定义了两个数组array1和array2。然后,我们创建了一个新的数组mergedArray,并使用for循环将array1和array2中的元素逐一插入到mergedArray中。最终,mergedArray中包含了array1和array2中所有的元素。