c语言成绩总和,C语言按考试成绩排名次

本文介绍如何使用C语言编程实现对学生的期末总成绩进行排序,并展示完整的代码实现过程,包括结构体定义、输入输出及冒泡排序算法的应用。
摘要由CSDN通过智能技术生成

期末考试结束后要对同学们的考试成绩进行排序,张老师已经计算好了每一位同学的总成绩。请编写程序,输入每位同学的总成绩并输出一个按成绩高低排列的名次表。

该问题中,在成绩排序的同时,需要相应的学号和姓名一起随之变化。因此,我们可以使用结构体,学号、姓名、成绩以及名次作为结构体成员。通过对结构体对象成员(总成绩)的大小判断,实现把结构体对象作为一个整体进行排序操作。

我们定义一个结构体对象的数组 stu 用来存放多个学生信息,每一个数组元素都是一个结构体对象:

struct student{

char id[5]; //学号

char name[40]; //姓名

float score; //期末总成绩

int num; //名次

}stu[100]; //定义一个结构体对象的数组stu

判断两个数组元素 stu[i] 和 stu[j] 中的结构体对象成员 stu[i].score 和 stu[j].score 的大小,从而决定是否交换数组元素 stu[i] 和 stu[j] 的值:

if(stu[i].score < stu[j].score){

temp = stu[i];

stu[i] = stu[j];

stu[j] = temp;

}

C语言代码清单 1:输入学生成绩并排列名次

#include

#include

int main( )

{

struct student //声明结构体 student

{

char id[5]; //学生学号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值