怎么用c语言实现数字回声

怎么用c语言实现数字回声,第1张

回放,即延时输出。

先将当前的数据读取下来,保存,再加入上一次的数据,混合,再发声。

F(n)=F(n)+F(n-1);

如果是多路回放,F(n)=F(n)+F(n-1)+F(n-2)........

我给你三个数字输入,从小到大输出:

编译:

INKEY宏NN

MOV啊,1H

中断21h

子人,30H

MOV BL,NN

MUL BL

新增总和斧头

ENDM

数据段

总和DW 0 />str1的DW 0

str2的DW 0

STR3 DW 0

BUFF1 DB 0

BU2 DB“1 2 3 4 5 6 7 8 9 A”,0DH,0AH“ “

数据结束

堆栈段段堆栈

DB 100 DUP(?)

堆栈结束

代码段

假设CS,DS代码: ES:数据,数据,SS:堆栈

SUB1 PROC远远开始推DS

MOV AX,0

的PUSH AX

MOV AX,数据

MOV DS,斧头

MOV ES,斧头

INKEY 100,输入的第一个号码

INKEY 10

INKEY

MOV AX,总和

>MOV str1的斧头

MOV总和,0

MOV DL,“

MOV啊,2H

中断21h

INKEY 100进入第一两个数字

INKEY 10

INKEY 1,总和

MOV str2的AX

MOV总和,0

MOV DL“,”乐章啊,2H

中断21h

INKEY 100输入数量

INKEY 10

INKEY 1

MOV AX,总和

>MOV STR3,斧头

MOV DL,0DH

乐章啊,2H

21H

MOV DL,0AH

乐章啊,2H

>INT 21H

MOV AX,str1的三个数字大小

CMP斧头,STR2

JAE A7。的

JMP A8

A7:MOV BX,STR2

MOV STR2,斧头

MOV str1中,BX

A8:MOV AX,STR2

CMP斧头,STR3

宰A9

JMP A11

A9:MOV BX,STR3

MOV STR3,斧头

MOV STR2,BX

MOV AX,str1的

CMP斧头,STR2

宰A10

JMP A11

A10:MOV BX,BX,STR2

MOV STR2,斧头

MOV str1的

A11:MOV AX,STR1

MOV AL,啊

调用SUB3

MOV AX,STR1

调用SUB3

MOV DL,“H” />乐章啊,2H

中断21h

MOV DL,“

MOV啊,2H

INT 21H

XOR啊,啊

MOV AX,STR2

MOV AL,啊

呼叫SUB3

MOV AX,STR2

调用SUB3

MOV DL,“H”

>乐章啊,2H

21H

MOV DL,“”

MOV啊,2H

21H

异啊,啊

MOV AX,STR3

MOV AL,啊

调用SUB3

MOV AX,STR3

通话SUB3

MOV DL,“H”

MOV啊,2H 21H

RET

SUB1 ENDP

SUB2 PROC

CMP AL,9

JA G1

添加人,“0”

JMP G2

G1:加AL,37H

G2:MOV DL,人

乐章啊,2

21H

RET

SUB2 ENDP

SUB3 PROC

MOV BUFF1人

SHR人,1

SHR人,1

SHR人,1 BR />SHR人,1

CALL SUB2

MOV AL,BUFF1

人,0FH

CALL SUB2

RET SUB3 ENDP 代码结束

年底开始

(C语言):

#包括中

无效的main()

{

INT A,B,C

的printf(“请输入三个整数:\ N”)

scanf函数(“%D%D%D” ,&B,&C)

倘(a>B)

{

T = A

= B

B =吨BR />} / / A,B交换

(>C)

{

T = A

= C

C =吨BR />} / / A,C交换

(B>C)

{

T = B

B = C

C =吨BR />} / / B,C交换

的printf(“从小到大输出数:%d,%D,%D \ N”,A,B,C)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11991025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存