数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。

题目

数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。


相似考题
参考答案和解析
正确答案: DATASEGEMNT
ARRAY DW -386,97,213,21,77,-91,56,7,123,65
DATA ENDS
CODESEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV BX,6*2;第六个元素在数组内的位移
MOV CX,4;循环计数器置初值
AGAIN:
MOV AX,ARRAY[BX];取出一个元素
MOV ARRAY[BX-2],AX;向前移动一个位置
ADD BX,2;修改指针
LOOP AGAIN;循环4次
MOV ARRAY[BX],0;最后一个元素清零
MOV AX,4C00H
INT 21H
CODEENDS
END START
更多“数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。”相关问题
  • 第1题:

    在定义inta[5][6];后,数组a中的第10个元素是()。(设a[0][0]为第一个元素)

    A.a[2][5]

    B.a[2][4]

    C.a[1][3]

    D.a[1][5]


    正确答案:C

  • 第2题:

    对于int*pa[5];的描述,( )是正确的。

    A.pa 是一个指向数组的指针,所指向的数组是5个int型元素

    B.pa 是一个指向某数组中第5个元素的指针,该元素是int型变量

    C.pa[5]表示某个数组的第5个元素的值

    D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针


    正确答案:D

  • 第3题:

    设线性表有n个元素,以下操作中,在顺序表上实现比在链表上实现效率更高的是()。

    A.输出第i个元素值
    B.交换第1个元素与第2个元素的值
    C.顺序输出这n个元素的值
    D.输出与给定值x相等的元素存线性表中的序号

    答案:A
    解析:
    顺序表的一个主要特点就是可以直接存取任一指定序号的元素,输出第i个元素值时间复杂度为O(1)。B项需要开辟临时空间,CD两项的时间复杂度均为O(n);

  • 第4题:

    稀土金属属于()元素

    • A、第ⅢA族元素
    • B、第ⅡA族元素
    • C、第ⅢB族元素
    • D、第ⅡB族元素

    正确答案:C

  • 第5题:

    编写程序,求20元素无符号字数组ARRAY中最小的奇数,存入ODD单元,如果不存在奇数,将ODD单元清零。


    正确答案: DATASEGEMNT
    ARRAY
    DW 56,12,88,126,5,16,32,99,72,18
    DW 116,34,92,32,156,42,816,16,15,218
    ODD DW ?
    DATA ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV BX,0
    MOV ODD,65535;将65535假设为最小的奇数
    LEA SI,ARRAY
    MOV CX,20
    AGAIN:
    MOV AX,[SI]
    TEST AX,1;测试是否为奇数
    JZ SKIP;不是奇数跳过
    INC BX;记录奇数个数
    CMP AX,ODD;奇数与预设的最小奇数比较
    JGE SKIP;大于预设奇数,跳过
    MOV ODD,AX;小于预设奇数,保留
    SKIP:ADD SI,2
    LOOP AGAIN
    CMP BX,0;判有无出现过奇数
    JNZ DONE
    MOV ODD,0;未出现过,把ODD单元清零
    DONE://MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第6题:

    将10阶的下三角矩阵(非0元素分布在矩阵右下部)按照行优先顺序压缩存储到一维数组A中,则原矩阵中第3行第8列的非0元素在一维数组A中位于第()个元素位置。


    正确答案:4

  • 第7题:

    在一个长度为n的顺序表中删除第i个元素,要移动()个元素,如果要在第i个元素前插入一个元素,要后移()个元素


    正确答案:n-i;n+i-1

  • 第8题:

    顺序表可以实现的操作有()。

    • A、随机获得第i个元素
    • B、不需要移动元素情况下,删除第i个元素
    • C、不需要移动元素情况下,在第i个位置插入元素
    • D、起初不分配顺序表的所有空间,每插入一个元素现分配存储空间

    正确答案:A

  • 第9题:

    将10阶的上三角矩阵(非0元素分布在矩阵左上部)按照行优先顺序压缩存储到一维数组A中,则原矩阵中第8行第2列的非0元素在一维数组A中位于第()个元素位置。


    正确答案:51

  • 第10题:

    填空题
    设有一个长度为18的顺序表,第8号元素到第18号元素依次存放的值为8,9,…,18。某人想要删除第8号元素,程序中他的做法是用语句for(i=18;i<=9;i--)a[i-1]=a[i];即从第18号元素开始,直到第9号元素,每个元素依次向前(左)移动1个位置.事实上这样做是错误的.其结果新表中第9号元素的值为()

    正确答案: 18
    解析: 暂无解析

  • 第11题:

    多选题
    已知1个数组inta[10],则以下说法正确的是()。
    A

    a[1]表示数组的第1个元素

    B

    a[0]表示数组的第1个元素

    C

    a[10]表示数组的最后1个元素

    D

    a[10]会出现程序编译错误


    正确答案: A,D
    解析: 暂无解析

  • 第12题:

    单选题
    对于int *pa[5];的描述,正确的是(  )。
    A

    pa是一个指向数组的指针,所指向的数组是5个int型元素

    B

    pa是一个指向某个数组中第5个元素的指针,该元素是int型变量

    C

    pa[5]表示某个数组的第5个元素的值

    D

    pa是一个具有5个元素的指针数组,每个元素是一个int型指针


    正确答案: B
    解析:
    语句“int *pa[5]”定义一个指针数组pa,它指向一个int指针型数组,数组大小为5。

  • 第13题:

    设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9个元素交换……,第5个元素与第6个元素交换,在横线处应填写( )。

    A. a(j)=a(11-j) a(11-j)=t

    B. a(11-j)=a(j) a(j)=t

    C. a(j)=a(11-j) a(j)=t

    D. a(11-j)=t a(j)=a(11-j)


    正确答案:A
    A)    【解析】本题考查数组中元素的逆置操作。循环次数为数组中元素个数的一半,每一次都要进行下标之和为ll的前后两个元素交换。

  • 第14题:

    长度为l0的顺序表的首地址是从l023开始的,顺序表中每个元素的长度为2,在第4个元素前面插入一个元素和删除第7个元素后,顺序表的总长度还是不变。问在执行插入和删除操作前,顺序表中第5个元素在执行插入和删除操作后在顺序表中的存储地址是( )

    A.1028

    B.1029

    C.1031

    D.1033


    正确答案:D
    由于问的是原来顺序表中的第5个元素,它在插入操作后变成了第6个元素(因为插入的元素在它前面)。由于删除的第7个元素在它后面,不会影响它在顺序表中的排位。因此在执行插入和删除操作后原先顺序表中的第5个元素变成了新的顺序表中的第6个元素。再按照线性表的随机存取地址的计算公式ADD(ai)=ADD(a1)+(i-l)×k计算ADD(a6)=ADD(a1)+(6—1)×2=1023+5×2=1033,因此选项D正确。

  • 第15题:

    阅读下列说明和C代码,回答问题1至问题3
    【说明】
    ??? 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-l、m-2、…个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在输出元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤为:
    步骤1:统计每个元素值的个数。
    步骤2:统计小于等于每个元素值的个数。
    步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。
    【C代码】
    下面是该排序算法的C语言实现。
    (1)常量和变量说明
    R: 常量,定义元素取值范围中的取值个数,如上述应用中R值应取6
    i:循环变量
    n:待排序元素个数
    a:输入数组,长度为n
    b:输出数组,长度为n
    c:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数。
    (2)函数sort
    1??? void sort(int n,int a[],int b[]){
    2??? ???int c[R],i;
    3?? for (i=0;i< ???(1)? :i++){
    4?? ??c[i]=0;
    5??? ???}
    6??? ???for(i=0;i7??? ?c[a[i]] = ??(2)? ;
    8??? ???}
    9 ??for(i=1;i10??? c[i]= ?(3)
    11??? ??}
    12 ?for(i=0;i13??? b[c[a[i]]-1]=? (4)?? ;
    14??? c[a[i]]=c[a[i]]-1;
    15??? ??}
    16??? }
    【问题1】
    ? 根据说明和C代码,填充C代码中的空缺(1)~(4)。
    【问题2】
    根据C代码,函数的时间复杂度和空间复杂度分别为 (5) 和 (6) (用O符号表示)。
    【问题3】?
    ? 根据以上C代码,分析该排序算法是否稳定。若稳定,请简要说明(不超过100字);若不稳定,请修改其中代码使其稳定(给出要修改的行号和修改后的代码)。


    答案:
    解析:
    试题答案 【问题1】
    (1)R
    (2)c[a[i]]+1
    (3)c[i]+c[i -1]
    (4)a[i]
    【问题2】
    (5)O(n+R)或者O(n)或n或线性
    (6)O(n+R)或者O(n)或n或线性
    【问题3】
    不稳定。修改第12行的for循环为:for(i=n-1;i>=0;i--){ 即可。

  • 第16题:

    已知1个数组inta[10],则以下说法正确的是()。

    • A、a[1]表示数组的第1个元素
    • B、a[0]表示数组的第1个元素
    • C、a[10]表示数组的最后1个元素
    • D、a[10]会出现程序编译错误

    正确答案:B,D

  • 第17题:

    将10阶的上三角矩阵(非0元素分布在矩阵右上部)按照行优先顺序压缩存储到一维数组A中,则原矩阵中第5行第5列的非0元素在一维数组A中位于第()个元素位置。


    正确答案:35

  • 第18题:

    设有一个长度为18的顺序表,第8号元素到第18号元素依次存放的值为8,9,…,18。某人想要删除第8号元素,程序中他的做法是用语句for(i=18;i<=9;i--)a[i-1]=a[i];即从第18号元素开始,直到第9号元素,每个元素依次向前(左)移动1个位置.事实上这样做是错误的.其结果新表中第9号元素的值为()


    正确答案:18

  • 第19题:

    设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中()个数据元素;删除第i个位置上的数据元素需要移动表中()个元素。


    正确答案:n-i+1;n-i

  • 第20题:

    对于int*pa[5];的描述中,正确的是()

    • A、pa是一个指向数组的指针,所指向的数组是5个int型元素
    • B、pa是一个指向某数组中第5个元素的指针,该元素是int型变量
    • C、pa[5]表示数组的第5个元素的值,是int型的值
    • D、pa是一个具有5个元素的指针数组,每个元素是一个int型指针

    正确答案:D

  • 第21题:

    填空题
    在一个长度为n的顺序表中删除第i个元素,要移动()个元素,如果要在第i个元素前插入一个元素,要后移()个元素

    正确答案: n-i,n+i-1
    解析: 暂无解析

  • 第22题:

    问答题
    数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。

    正确答案: DATASEGEMNT
    ARRAY DW -386,97,213,21,77,-91,56,7,123,65
    DATA ENDS
    CODESEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV BX,6*2;第六个元素在数组内的位移
    MOV CX,4;循环计数器置初值
    AGAIN:
    MOV AX,ARRAY[BX];取出一个元素
    MOV ARRAY[BX-2],AX;向前移动一个位置
    ADD BX,2;修改指针
    LOOP AGAIN;循环4次
    MOV ARRAY[BX],0;最后一个元素清零
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第23题:

    填空题
    设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中()个数据元素;删除第i个位置上的数据元素需要移动表中()个元素。

    正确答案: n-i+1,n-i
    解析: 暂无解析