[试题]

请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。

例如:

原字符串为:4EH,4EH,4EH,42H,1AH,31H,31H,00H:

新字符串为:4EH,42H,1AH,31H,00H

部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1. DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END 之间补充一段源程序,完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。

部分程序如下:

; PROG1. ASM

E.XTRN LOAD:FAR,SAVE:FAR

LEN EQU 20

N EQU 10

D.SEG SEGMENT

SOURCE DW N DUP (?)

RESULT DW N DUP (0)

NAME0 DB 'INPUT1. DAT', 0

NAME1 DB 'OUTPUT1.DAT',0

D.SEG ENDS

SSEG SEGMENT STACK

D.B 256 DUP (?)

SSEG ENDS

C.SEG SEGMENT

A.SSUME CS:CSEG, DS:DSEG;SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV ES, AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

C.ALL LOAD

; *** BEGIN ***

…………

…………

…………

; *** END ***

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

C.ALL SAVE

RET

START ENDP

C.SEG ENDS

E.ND START

参考答案与解析:

相关试题

编一个程序,定义一个字符数组和一个字符串变量,给这个字符串变量输入一个字符串,然

[问答题] 编一个程序,定义一个字符数组和一个字符串变量,给这个字符串变量输入一个字符串,然后用foreach语句把这个字符串拷贝到字符数组里,最后输出字符数组。

  • 查看答案
  • 计算一个字符串在另外一个字符串中出现的次数

    [主观题]计算一个字符串在另外一个字符串中出现的次数

  • 查看答案
  • 编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该

    [问答题] 编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。

  • 查看答案
  • C语言中可以把一个字符串赋给一个字符变量。

    [判断题] C语言中可以把一个字符串赋给一个字符变量。A . 正确B . 错误

  • 查看答案
  • 编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复

    [问答题] 编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,aaabccdfff,其中a重复出现二次,c重复出现一次,f重复出现二次,共计字符重复五次。

  • 查看答案
  • 编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝

    [问答题] 编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝到字符数组中,然后用foreach输出该字符数组。

  • 查看答案
  • 在Flash中,将一个字符串填充不同的颜色,应先将字符串()。

    [单选题]在Flash中,将一个字符串填充不同的颜色,应先将字符串()。A.转换为元件B.打散C.转换为按钮D.组合

  • 查看答案
  • 给出一个函数来输出一个字符串的所有排列。

    [主观题]给出一个函数来输出一个字符串的所有排列。

  • 查看答案
  • 请补充main()函数,该函数的功能是:从键盘输人一个字符串及一个指定字符,然后

    [试题]请补充main()函数,该函数的功能是:从键盘输人一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输人“abcdefg”,指定字符为“d”,则输出“abe”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序:

  • 查看答案
  • 下列给定程序中,函数proc的功能是:读入一个字符串(长度<20),将该字符串中

    [主观题]下列给定程序中,函数proc的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCIl码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include%string.h> include%stdlib.h> include<conio.h> include<stdio.h> //****found****

  • 查看答案
  • 请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的