组卷题库 > 高中信息技术试卷库
试题详情
“旋转数组”过程是指将数组中的元素向右移动k个位置,其中k是非负数。以数组a向右移动3个位置为例,其移动过程有如下两种方法:

原始数据:

a(1)

a(2)

a(3)

a(4)

1

2

3

4

方法一:

①向右旋转1步:

a(1)

a(2)

a(3)

a(4)

4

1

2

3

②向右旋转2步:

a(1)

a(2)

a(3)

a(4)

3

4

1

2

③向右旋转3步:

a(1)

a(2)

a(3)

a(4)

2

3

4

1

方法二:

①将a(1)值放至旋转3个位置后位置a(4):

a(1)

a(2)

a(3)

a(4)

1

2

3

1

②将原a(4)值放至旋转3个位置后位置a(3):

a(1)

a(2)

a(3)

a(4)

1

2

4

1

③将原a(3)值放至旋转3个位置后位置a(2):

a(1)

a(2)

a(3)

a(4)

1

3

4

1

④将原a(2)值放至旋转3个位置后位置a(1):

a(1)

a(2)

a(3)

a(4)

2

3

4

1

有n个数存储在数组a中,给定一个整数p(1≤p≤n),将数组a的前p个数与后n-p个数分别向右旋转k次。例如数组a的各个数值分别是1,2,3,4,5,6,7,当p=4,k=1时,旋转后的结果为4,1,2,3,7,5,6。小明为此编写了VB程序,功能如下:在文本框Text2、Text3中依次输入p和k的值,单击“旋转数组”按钮Command1后,数组旋转后结果显示在Text4中。程序运行界面如图1所示,请回答下列问题:

图1

知识点
参考答案
采纳过本试题的试卷
教育网站链接