C语言实现学生成绩排名程序
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"显示学生名次程序代码" 这是一个使用汇编语言编写的程序,其主要目的是接收用户输入的一组学生成绩,计算并存储每个学生的名次,然后按照学号顺序在终端上显示这些名次。程序设计中涉及到以下几个关键知识点: 1. **数据段定义**:程序首先定义了两个数据段,`DATASSEGMENT` 和 `CODESSEGMENT`,分别用于存储数据和代码。数据段中包含了两个双字节数组 `grade` 和 `rank`,以及一个双字节变量 `count` 和一些字符串常量。`grade` 数组用于存储学生成绩,`rank` 数组用于存储对应的名次,`count` 用于记录学生人数。 2. **数组操作**:在汇编语言中,数组元素的访问通常通过偏移地址来实现。例如,`grade+i` 就是访问数组 `grade` 中第 i+1 个元素的地址,`rank+i` 对应 `rank` 数组的第 i+1 个元素。 3. **输入处理**:`inputproc` 子程序负责接收用户输入的成绩。它调用 BIOS 的中断服务 `int 21H` 的功能号 `09H` 来显示提示信息,并通过循环结构读取输入的分数。当遇到逗号或回车符时结束输入,将成绩存入 `grade` 数组。 4. **错误处理**:如果输入的不是数字,程序会跳转到错误处理部分,显示错误信息。 5. **名次计算**:`rankp` 子程序负责计算名次。它需要遍历 `grade` 数组,比较每个学生的成绩,找出最高分并将其名次设为 1,然后逐个比较剩下的学生,更新名次。名次结果存入 `rank` 数组。 6. **输出显示**:`output` 子程序按照学号顺序从 `rank` 数组中取出名次,使用 `int 21H` 的功能号 `09H` 显示在终端上。在输出之间,还调用了自定义的 `crlfproc` 子程序来添加换行符,使输出更易读。 7. **控制流程**:主程序 `main` 负责调用以上各个子程序,确保整个流程的执行。它首先初始化数据段,然后调用 `inputproc` 输入成绩,接着调用 `rankp` 计算名次,最后调用 `output` 显示名次。 这个程序体现了汇编语言的基本结构和流程控制,以及对数组、中断调用、条件判断等核心概念的应用。通过这样的程序,我们可以学习到如何在汇编语言环境中处理输入输出、数组操作、错误处理以及排序算法的基础知识。
![](https://csdnimg.cn/release/download_crawler_static/685324/bg1.jpg)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)