作业练习 课程基本信息 学科 信息技术 年级 高二 学期 春季 课题 数组及其应用 教科书 书 名:数据与数据结构 -出卷网-:浙江教育-出卷网- 学生信息 姓名 学校 班级 学号 作业练习 下列关于数组的描述中,不正确的是 A.数组元素的数据类型均相同 B.仅通过数组名就能访问数组中的某个元素 C.数组一旦创建好以后,其存储空间将固定不变 D.在数组中进行删除元素操作后,其占用的空间不会发生改变 2. 有二维数组a=[[1,2,3],[4,5,6],[7,8,9]],则数组元素a[1][2]的值为 A.1 B.2 C.6 D.7 3. 有一维数组a=list[“computer”],则数组元素a[-3]的值为 A.“m” B.“p” C.“u” D.“t” 4. 列表a的值[0,1,2,3,5],下列表达式的值等于a[1]的是 A.a[2]*a[3]//3 B.a[2]-len(a) C.a[-1]-a[4] D.a[3]%2 5. 有如下Python程序段: a=[3,6,12,5,9,20,17,8] p=0 for i in range (1,len(a)): if a[i]>a[p]: p=i a.pop(p) 则执行程序段后,数组a中的元素为 A.3,6,12,5,9,20,17,8 B.3,6,12,5,9,17,8 C.3,6,12,5,9,20,17 D.6,12,5,9,20,17,8 6. 有如下程序段: s=1 a=[[1,2,3],[4,5,6],[7,8,9]] for i in range(3): for j in range(3): if i==j: s*=a[i][j] 则执行程序段后,变量s的值为 A.28 B.6 C.45 D.15 有两个非递减顺序存储的数组s1和s2,其元素个数分别是m和n个,请完善以下程序,最终实现s1和s2合并成一个非递减顺序存储的数组。 s1=[1,3,4,4,5,5] s2=[2,5,6,6,7,7,8,9] m=len(s1) n=len(s2) k = ① _____ s=[0]*k while ②_____: if s1[m-1] >= s2[n-1]: s[k-1] = s1[m-1] m -= 1 else: s[k-1] = s2[n-1] n-= 1 ③ _____ if m>0: s[:k-1]=s1[:m-1] else: s[:k-1]=s1[:n-1] print(s) 【参考答案】 B 【解析】如要访问数组中的某个元素,需通过下标指定,因此答案为B。 C 【解析】数组下标由0开始,因此a[1][2]代表第2行第3列,值为6,因此答案为C。 D 【解析】下标的表示有两个方向,正向从0开始,负数从-1开始。因此a[-3]代表从右往左数第3个,即“t”,因此答案为D。 D 【解析】a[1]的值为1,选项A.a[2]*a[3]//3 =2*3//3=6; 选项B.a[2]-len(a)=2-5=-3; 选项C.a[-1]-a[4] =5-5=0; 选项D.a[3]%2=3%2=1,因此答案为D。 B 【解析】根据“if a[i]>a[p]:p=i”语句可知,此段程序是在数组a中找到最大值,并将其下标赋给p;而a.pop(p)的作用是去掉指定位置p上的元素,数组a最终的元素为“3,6,12,5,9,17,8”,因此答案为B。 C 【解析】根据程序可知,当i与j相等时,即矩阵中的对角线,即a[0][0],a[1][1],a[2][2]进行相乘,最终计算结果为s=1*1*5*9=45,因此答案为C。 ① m + n ②m > 0 and n >0 ③k -= 1 【解析】此程序的作用是合并两个非递减序列,从后往前依次比较s1和s2中的元素大小。 第①空是计算k,由下面的程序可以知道,k代表合并后的总元素个数,因此答案是m + n; 第②空是设定能够继续比较元素大小的条件。只有当两个数组下标没有超出范围时,才能进行比较,因此答案是m > 0 and n >0,或等价写法。 第③空是新数组s的下标从后向前递减,由k控制,因此答案是k -= 1。 ... ...
~~ 您好,已阅读到文档的结尾了 ~~