早教吧作业答案频道 -->其他-->
学生成绩名次表问题描述:建设一个年级(M个班)的学生参加某门课程的考试,每个班最多有N个学生,请输出各班的成绩名次表(M个)、以班级为单位的成绩名次表(1个)、以及以年级为
题目详情
学生成绩名次表
问题描述:建设一个年级(M个班)的学生参加某门课程的考试,每个班最多有N个学生,请输出各班的成绩名次表(M个)、以班级为单位的成绩名次表(1个)、以及以年级为单位的成绩名次表(1个)。
设计要求:
1.功能:每个班级的学生记录按学号顺序排列,每个学生记录至少包含排列名次、学号、成绩3个字段。
2.输入:随机产生M*N个成绩。
3.输出:
(1)输出每个班级的成绩名次表,具有相同成绩的名次相同;
(2)输出以班级为单位的成绩名次表。
(3)输出以年级为单位的成绩名次表,具有相同成绩的名次相同。
问题描述:建设一个年级(M个班)的学生参加某门课程的考试,每个班最多有N个学生,请输出各班的成绩名次表(M个)、以班级为单位的成绩名次表(1个)、以及以年级为单位的成绩名次表(1个)。
设计要求:
1.功能:每个班级的学生记录按学号顺序排列,每个学生记录至少包含排列名次、学号、成绩3个字段。
2.输入:随机产生M*N个成绩。
3.输出:
(1)输出每个班级的成绩名次表,具有相同成绩的名次相同;
(2)输出以班级为单位的成绩名次表。
(3)输出以年级为单位的成绩名次表,具有相同成绩的名次相同。
▼优质解答
答案和解析
课后题吧,我这有
;把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--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
看了学生成绩名次表问题描述:建设一...的网友还看了以下:
五年级一班同学站队做操,12人站一排,8人站一排都刚好站齐,没有剩余,五年级一班最少有多少人?急 2020-04-27 …
如果把110块糖平均分给五一班的同学则多五块如果240块糖平均分给这帮同学则还少五块.五一班最多有 2020-06-06 …
英语翻译八年级哪个班的学生最多?一班最多.WhichclassinGradeClass1. 2020-06-10 …
五一班同学上体育课时,每行站三人最后一行少二人;每行站四人,最后一行少三人;每行站五人,最后一行只 2020-06-14 …
给这则材料拟一个标题.为了活跃毕业班同学的课余生活,加强同学之间、师生之间的情感交流,九年级(一) 2020-06-21 …
早晨,五(1)班同学们排队做早操,7人一排,8人一排都没有剩余.五一班最少有多少人 2020-06-25 …
火急!100分悬赏在线等下一班最快的有票的航班是多久用英语怎么说下一班最快的有票的航班是多久用英语 2020-06-27 …
在“我是集体一员”的主题班会上,班主任老师带领同学们一起做拍手操:“我,我代表,我代表一班,一班最棒 2020-11-24 …
某同学为校广播站写了一则消息,交稿前,他请你做些修改:(6分)①为了活泼毕业班同学的课余生活,加强同 2020-11-29 …
数学应用题,只有两题,1.二一班的同学在上体育课时,6名同学分好一组,刚好分完,10名同学分一组也刚 2021-01-08 …