十进制数与二进制数之间的互相转换的方法以及应用DOS功能调用的处理键盘和显示器的方法

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:20:30
编制一个程序,实现选手成绩的平均分计算,设有十个评委给参赛的选手评分,分数是从键盘上输入的十个十进制数(带一位整数两位小数的数)

1,把输入的十进制数转换成二进制数,并求出最大数和最小数
2,求出十个数的总和,减去最大数和最小数,求出平均值
3,将二进制的平均值转换为十进制,并在屏幕上显示十进制的结果
界面要求:
1首先显示器显示:”please input the 10 scores!"
2输入成绩后屏幕上显示十个分数,以及最后的平均值
3要求程序能区分输入的是不是分数,每个分数以enter键结束.若分数非法,则屏幕上提示重新输入

建议用韦福模拟器编写(wave 6000)

以上是个DOS编程题目,哪个高手帮我解决了,分数大大的有,越快分数给的越高!!!!!!!!最少给500
注意注意注意注意注意注意注意注意注意注意注意注意

这是要求用DOS编的,VB和C的都不行,谢谢

DOSFUNC MACRO NO
MOV AH,NO
INT 21H
ENDM
CRLF MACRO
MOV DL,0DH
DOSFUNC 2
MOV DL,0AH
DOSFUNC 2
ENDM

DATA SEGMENT
MESSAGE DB 0DH,0AH,'PLEASE INPUT TEN FENSHU:$'
NUMBERS DB 10 DUP(?)
KB DB 3
ACTLEN DB ?
BUFFER DB 3 DUP(?)
MAX DB ?
MIN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA ,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX

LEA DX,MESSAGE
DOSFUNC 9
MOV CX,10
LEA DI,NUMBERS
L1: LEA DX,KB
DOSFUNC 0AH
CMP ACTLEN,0
JZ L1
CMP ACTLEN,1
JNZ L2
MOV AL,BUFFER
AND AL,0FH
JMP L3
L2: MOV AH,BUFFER
MOV AL,BUFFER+1
AND AX,0F0FH
AAD
L3: STOSB
CRLF