试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省高中信息技术 矩阵问题练习

编写程序将某个字符串沿“N”字形排列显示。输入一个字符串,将该字符串沿“N”字形排列显示。例如输入字符串“ABCDEFGH

IJKLMNOPQRSTUVWXYZ”,转换成5行的“N”字形排列如图所示:

小张根据排列规律设计了“N”字形排列显示的VB程序,功能如下:在文本框Text1中输入原字符串,在文本框Text2中输入“N”字形的行数row(row大于等于3).单击“转换”按钮Command1后,将字符串沿“N”字形排列显示在列表框List1中。程序运行如图所示。

(1)、如果原字符串为“0123456789”,转换为3行“N”字形排列,则第一行最后一个字符为
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

Dim span As Integer     ‘第一行相邻字母在原字符串中的间距

Dim space As Integer     ‘第一行相邻字母间的空格个数

Dim row As Integer, i As Integer, s As String, line As String

s = Text1.Text

List1.Clear

span = row * 2-2

space = row - 2

For i = 1 To row

 line =“”: j = i

 Do While j <= Len(s)

line = line + Mid(s, j, 1)      ‘输出第i行第一个字符

 If i <> 1 And i<> row Then      ‘判断结果不为首行和末行时

  line=line+ Pad(space - i + 1)     ‘输出字符之前的空格

  line=line+      ‘输出字符

  line=line+ Pad(i - 2)     ‘输出字符之后的空格

 Else

  line=line+ Pad(space)     ‘输出首行和末行的空格个数

 End If

 j = j + span     ‘间隔之后的字符位置

Loop

 Next i

 End Sub

’函数Pad(n)的值为n个空格构成的字符串,比如Pad(3)代表3个空格构成的字符串

Function Pad(n As Integer) As String’产生n个空格构成

的字符串

’代码略

End Function

举一反三
数组a存储降序排列的m个数据,数组b中存储的是升序排列的n个数据,且两个数组中存储的数据为区间[1,20]范围内的不重复的随机整数。现将两个数组的数据合并到c数组中,使c数组的数据为左右交替上升,如下表所示:

a(1)

a(2)

a(3)

a(4)

a(5)

19

17

6

4

3

a数组

b(1)

b(2)

b(3)

b(4)

b(5)

b(6)

5

7

8

13

15

20

b数组

c(1)

c(2)

c(3)

c(4)

c(5)

c(6)

c(7)

c(8)

c(9)

c(10)

c(11)

3

5

7

13

17

20

19

15

8

6

4

c数组

当窗体Form1加载时,自动产生a、b数组的数据,并分别显示在列表框List1与List2中,单击合并按钮Command1后,在c数组中保存按规则合并后的a、b数组的数据,并显示在列表框List3中。程序截图如下所示:

实现该功能的VB程序如下:

Const m = 5

Const n = 6

Dim a(1 To m) As Integer

Dim b(1 To n) As Integer

Dim c(1 To m + n) As Integer

‘窗体加载时,生成数组a、b中的数据,并按要求排序后显示在列表框中,代码略

Private Sub Command1_Click()

Dim pa As Integer, pb As Integer, pc As Integer, s As Integer, flag As Boolean

pa = m: pb = 1: pc = 1

flag = True

Do While         ①        

    If a(pa) < b(pb) Then

        s = a(pa)

        pa = pa - 1

    Else

        s = b(pb)

        pb = pb + 1

    End If

    c(pc) = s

    If  flag Then

        pc = m + n - pc + 1

    Else

        pc =

    End If

            ②       

Loop

‘处理a、b数组中剩余数据,并在列表框List3中输出数组c,代码略

End Sub

返回首页

试题篮