学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
幻方是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。n阶幻方是由 1~n2 之间的自然数组成的一个 n 阶方阵,其各行、各列及对角线所含的数字之和均相等。例如 3 阶幻方(如图 1),幻和为 15。 
图 1
奇数阶幻方的构造是所有幻方中最简单的,可以按照如下规则来实现:
(1)将 1 放在第一行中间一列;(如图 2)
(2)从 2 开始直到 n*n 为止,各数按下列规则存放:
假设当前要存放的数为 k,则 k 存放在(k-1)数的右上方并按照规则:
①若(k-1)放在第 1 行且不是最后一列,则将 k 存放在 n 行,(k-1)所在列右侧;(如图 3)
②若(k-1)放在第 n 列且不是第一行,则将 k 存放在第 1 列,(k-1)的上 1 行;(如图 4)
③若(k-1)即不在第 1 行也不在最后 1 列:
若(k-1)右上方有数,则将 k 放在(k-1)的下 1 行的同一列。(如图 5)
若(k-1)右上方没有数,则将 k 放在(k-1)的右上方;(如图 6)
④若(k-1)在第 1 行第 n 列,将 k 填在(k-1)的正下方(如图 7)

图2

图3

图4

图5

图6

图7

图8
1.用图8的程序生成 5 阶幻方后,List1 中的第一行显示的是_____________________。
2.30 阶以内的幻方程序如图8,代码如下,请完成代码填空:
Private Sub Command1_Click()

Dim i As Integer, j As Integer, n As Integer   'i 表示行,j 表示列

Dim a(1 To 1000) As Integer, k As Integer     '数组 a 依次保存幻方中的数

Dim s As String

n = Val(Text1.Text)

j = ______________ 

a(j) = 1

i = 1

For k = 2 To n * n

If i = 1 And j <> n Then
i = n: j = j + 1
a((i - 1) * n + j) = k
ElseIf j = n And i <> 1 Then
_______________: j = 1
a((i - 1) * n + j) = k
ElseIf i = 1 And j = n Then
i = i + 1
a((i - 1) * n + j) = k
ElseIf i <> 1 And j <> n Then
If _______________ Then
i = i - 1: j = j + 1
a((i - 1) * n + j) = k
Else
i = i + 1
a((i - 1) * n + j) = k
End If
End If

Next k

List1.Clear

For i = 1 To n

                s = ""
For j = 1 To n
s = s + format(a((i - 1) * n + j))
Next j
List1.AddItem s

Next i

End Sub
Function format(x As Integer) As String    '将数字字符串格式化为 4 个字符长度

Dim n As Integer, i As Integer

format = Str(x)

n = Len(format)

For i = 1 To _____________ 

              format = " " + format

Next i

End Function
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交