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

题目

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


相似考题
更多“编写程序,求20元素无符号字数组ARRAY中最小的奇数,存入OD”相关问题
  • 第1题:

    下面程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并在文本框Textl中输出该数组中各元素的最小值。请填空。

    End Sub


    正确答案:
    arrl(1)Min=arrl(i)【解析】本题考查VBA中程序设计的知识。对于这个问题,需要把数组元素依次与最小值比较,如果比当前的最小值还小,则让这个数组元素成为新的最小值,然后继续比较,直至数组元素都比较一遍为止。由于比较的循环从2开始,显然是预先设置最小值为数组的第一个元素即arrlfl);在比较循环内部如果符合If语句的条件,则让这个数组元素成为新的最小值,即Min=arrl(i)。

  • 第2题:

    阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。

    【流程图说明】

    下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。

    【算法说明】

    将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。

    【算法】

    void sort(int Array[],int L,int H){

    if (L<H) {

    k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/

    sort((4));/*小于基准数的元素排序*/

    sort((5));/*大于基准数的元素排序*/

    }

    }


    正确答案:(1)j←j-1
    (1)j←j-1

  • 第3题:

    设有数组定义:char array[]="China";,则数组array所占的空间为( )。

    A.6字节

    B.5字节

    C.4字节

    D.7字节


    正确答案:A
    解析:在本题的定义方式中,系统会自动在数组最后加入一个'\0',表示字符数组的结束,因此数组的长度是6个字节。

  • 第4题:

    在Array类中,可以对一维数组中的元素进行排序的方法是()。


    正确答案:Sort

  • 第5题:

    在JavaScript中Array对象拥有的方法不包括()。

    • A、 sort()数组排序 
    • B、 length()计算数组长度 
    • C、 concat()数组合并 
    • D、 reverse()数组元素反转

    正确答案:B

  • 第6题:

    编写程序,求10元素字数组LIST中绝对值最小的数,存入MIN单元。


    正确答案: DATA SEGEMNT
    LIST DW -56,+12,88,-126,-5,16,32,-99,72,-18
    MIN DW ?
    MINABS DW ?
    DATA ENDS
    CODES EGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV AX,LIST
    MOV MIN,AX;将数组第一个元素假设为绝对值最小的数
    MOV MINABS,32767;最小的绝对值假设为32767
    LEA SI,LIST
    MOV CX,10
    AGAIN:
    MOV AX,[SI]
    CMP AX,0
    JGE SKIP1
    NEG AX;求绝对值
    SKIP1:
    CMP AX,MINABS;绝对值与假设的最小绝对值比较
    JGE SKIP2;假设的绝对值较小,跳过
    MOV MINABS,AX;保存新的最小绝对值
    MOV AX,[SI];取出新的绝对值最小的数
    MOV MIN,AX;保留新的绝对值最小的数
    SKIP2:
    ADD SI,2
    LOOP AGAIN
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第7题:

    定义数组Array(1to 5,5)后,下列哪一个数组元素不存在()

    • A、Array(1,1)
    • B、Array(1,0)
    • C、Array(0,1)
    • D、Array(5,5)

    正确答案:A

  • 第8题:

    已知数组array,其最后一个元素的下标是?()     

    • A、 array. size
    • B、 array. length-l
    • C、 array. size-l
    • D、 array.length

    正确答案:B

  • 第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

  • 第10题:

    问答题
    变量X用DT定义,存有80b有符号数,编写程序,求X的相反数,存入同样用DT定义的变量Y。

    正确答案: CODESEGMENT
    ASSUME CS:CODE
    X DT1234567890H
    Y DT ?
    START:
    MOV CX,10;循环计数器置初值
    XOR BX,BX;地址指针置初值
    ONE://MOV AL,BYTE PTR X[BX]
    NOT AL;X的一字节内容取反
    MOV BYTE PTR Y[BX];存入Y的一个字节内
    INC BX
    LOOP ONE
    ADD BYTE PTR Y,1;Y的低位字节加1
    LEA BX,Y+1;从Y的第2字节开始处理
    MOV CX,9;共9个字节
    TWO:ADC BYTE PTRCS:[BX],0;收集低位来的进位
    INC BX;修改指针
    LOOP TWO;循环控制
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第11题:

    填空题
    在Array类中,可以对一维数组中的元素进行排序的方法是()。

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

  • 第12题:

    问答题
    编写程序,求10元素字数组LIST中绝对值最小的数,存入MIN单元。

    正确答案: DATA SEGEMNT
    LIST DW -56,+12,88,-126,-5,16,32,-99,72,-18
    MIN DW ?
    MINABS DW ?
    DATA ENDS
    CODES EGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV AX,LIST
    MOV MIN,AX;将数组第一个元素假设为绝对值最小的数
    MOV MINABS,32767;最小的绝对值假设为32767
    LEA SI,LIST
    MOV CX,10
    AGAIN:
    MOV AX,[SI]
    CMP AX,0
    JGE SKIP1
    NEG AX;求绝对值
    SKIP1:
    CMP AX,MINABS;绝对值与假设的最小绝对值比较
    JGE SKIP2;假设的绝对值较小,跳过
    MOV MINABS,AX;保存新的最小绝对值
    MOV AX,[SI];取出新的绝对值最小的数
    MOV MIN,AX;保留新的绝对值最小的数
    SKIP2:
    ADD SI,2
    LOOP AGAIN
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第13题:

    设有如下程序:

    Option Base 1

    Private Sub Commandl Click()

    Dim arrl

    Dim Min As Integer,i As Integer

    arrl=Array(12,435,76,-24,78,54,866,43)

    Min=【 】

    For i=2 To 8

    If arrl(i)<Min Then【 】

    Next

    Print"最小值是:";Min

    End Sub

    以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。


    正确答案:arrl(1) Min=arrl(i)
    arrl(1) , Min=arrl(i) 解析:由于有Option Base 1语句,所以数组下标是从1开始。本题的功能是查找8个数中的最小值,首先使用Array语句给数组赋值,然后把第一个值赋值给最小值变量,及Min=arrl(1),然后从第二个数开始循环与最小值比较,如果比最小值小,则把这个值赋值给Min,即Min=arrl(i)。

  • 第14题:

    下列关于数组特征的描述中,不正确的是( )。

    A.数组是一种变量,由规则有序结构中具有同一类型的值的集合构成

    B.在VBA中不允许隐式说明数组

    C.Dim astrNew Array(20) As String这条语句产生有20个元素的数组,每个元素为一个变长的字符串变量,且第一个元素从1开始

    D.Dim astrNew Array(1 To 20) As String这条语句产生有20个元素的数组


    正确答案:C
    解析:本题考查数组的知识,选项C是错误的,DimastrNewArray(20)AsString这条语句是产生21个元素的数组,每个元素为一个变长的字符串变量,其第一个元素是从。开始。

  • 第15题:

    ● 对于数组 float array[5][4],若数组元素 array[0][0]的地址为 2400,每个数组元素长度为 32 位(4 字节),且假定其采用行序为主的存储模式,那么 array[3][2]的内存地址为 (46) 。

    (46)

    A. 2448

    B. 2452

    C. 2456

    D. 2460


    正确答案:C

  • 第16题:

    使用一维整型数组可以完成的功能不包含()

    • A、求和及平均值
    • B、求最大及最小值
    • C、对数组元素排序
    • D、数组整体引用

    正确答案:D

  • 第17题:

    变量X用DT定义,存有80b有符号数,编写程序,求X的相反数,存入同样用DT定义的变量Y。


    正确答案: CODESEGMENT
    ASSUME CS:CODE
    X DT1234567890H
    Y DT ?
    START:
    MOV CX,10;循环计数器置初值
    XOR BX,BX;地址指针置初值
    ONE://MOV AL,BYTE PTR X[BX]
    NOT AL;X的一字节内容取反
    MOV BYTE PTR Y[BX];存入Y的一个字节内
    INC BX
    LOOP ONE
    ADD BYTE PTR Y,1;Y的低位字节加1
    LEA BX,Y+1;从Y的第2字节开始处理
    MOV CX,9;共9个字节
    TWO:ADC BYTE PTRCS:[BX],0;收集低位来的进位
    INC BX;修改指针
    LOOP TWO;循环控制
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第18题:

    intarr[]={1,4,9,12,-3,7,52};数组中奇数下标的元素最小值是()

    • A、-3
    • B、7
    • C、12
    • D、4

    正确答案:D

  • 第19题:

    已知数组array,其最后一个元素的下标是()?

    • A、array.size
    • B、array.length-l
    • C、array.size-l
    • D、array.length

    正确答案:B

  • 第20题:

    array_search()与in_array()函数均可用来查询数组中元素的值。()


    正确答案:错误

  • 第21题:

    一个有符号字数组以0为结束标志,求这个数组的:最大值、最小值、平均值。


    正确答案: DATASEGEMNT
    LIST DW -56,+12,88,-126,-5,16,32,-99,72,-18,0
    MIN DW ?
    MAX DW ?
    AVG DW ?
    DATA ENDS
    CODESEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV MIN,32767;将32767假设为最小的数
    MOV MAX,-32768;将-32768假设为最大的数
    MOV AVG,0;AVG用作累加器,清零
    LEA SI,LIST
    MOV CX,0
    AGAIN:
    MOV AX,[SI]
    CMP AX,0
    JZ DONE;找到零元素,转DONE结束处理
    INC CX;纪录非零元素个数
    ADD AVG,AX;累加
    CMP AX,MIN
    JGE SKIP1
    MOV MIN.AX;比预设最小值还小,保留
    SKIP1:
    CMP AX,MAX
    JLE SKIP2
    MOV MAX,AX;比预设最大值还大,保留
    SKIP2:
    ADD SI,2
    JMP AGAIN
    DONE://JCXZNULL;元素个数为零,转NULL处理
    MOV AX,AVG
    CWD
    IDIV CX
    MOV AVG,AX;计算平均值
    JMP EXIT
    NULL:MOV MIN,0;元素个数为0,将“最大值”、“最小值”
    MOV MAX,0;“平均值”清零
    MOV AVG,0
    EXIT:MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第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题:

    问答题
    编写程序,求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
    解析: 暂无解析