足球直播吧

足球直播吧

学生成绩名次表

访客190

课后题吧,我这有
;把0--100d之间的30个数存入以GRADE为首地址的30个数组中,
;GRADE+1表示学号为i+1的学生的成绩。另一个数组RANK为30个
;学生的名次表,其中RANK+i的内容是学号为i+1的学生的名次。
;编写一程序,根据GRADE 中的学生成绩,讲学生名次填入RANK数组中。(提示:一个学生的名次等于成绩高于这个学生是人数加1)
DATAS SEGMENT
;此处输入数据段代码
GRADE DW 88,75,95,63,98,78,87,78,90,60;自行定义 ;成绩
COUNT EQU ($-GRADE)/2
RANK DW COUNT DUP (1) ;排名,初始值为1,大家都第一名,同一起跑线哈
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV SI,0 ;要排名的学生号码
MOV CX,COUNT
L1:
MOV AX,GRADE[SI] ;获得第SI号学生的成绩
MOV BX,RANK[SI] ;获得第SI号学生的初始排名

MOV DX,CX ;保存CX
MOV DI,0 ;要比较的学生的号码
MOV CX,COUNT
L2:
CMP AX,GRADE[DI] ;逐个比较
JNB L3
INC BX ;低于某一个学生的成绩,则排名加1
L3:
ADD DI,2
LOOP L2

MOV RANK[SI],BX ;保存排名
ADD SI,2
MOV CX,DX
LOOP L1

MOV AH,4CH
INT 21H
CODES ENDS
END START

标签:沃顿湖人战绩

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~