定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,可以实现对于学生成绩的排序,排序可以按照语文、数学或者英语的任意一

本文介绍了如何使用C语言编写程序,通过输入学生的姓名、学号和各科成绩,存储到结构体中,并按数学成绩进行排序,展示了从输入数据到结果展示的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

#include <stdio.h>
struct student
{
    char name[20];
    int number;
    int math;
    int chinese;
    int english;


};

int main(int argc, const char *argv[])
{
    struct student sum[100];
    printf("请依次输入姓名 学号 数学成绩 语文成绩 英语成绩\n");
    for(int i = 0 ; i<5 ;i++)
    {
        scanf("%s %d %d %d %d",sum[i].name,&sum[i].number,&sum[i].math,&sum[i].chinese,&sum[i].english);
    }
    printf("录入的同学信息如下:\n");
    for(int i = 0 ; i<5 ;i++)
    {
        printf("%s %d %d %d %d\n",sum[i].name,sum[i].number,sum[i].math,sum[i].chinese,sum[i].english);
    }
    printf("按数学成绩排名如下:\n");
    for(int i = 1;i<5;i++)
    {
        for (int j = 0 ;j<5-i;j++)                                                                        
        {
            if(sum[j].math<sum[j+1].math)
            {
                struct student t  = sum[j];
                sum[j]= sum[j+1];
                sum[j+1] = t;

            }
        }
    }
    for(int i = 0 ; i<5 ;i++)
    {
        printf("%s %d %d %d %d\n",sum[i].name,sum[i].number,sum[i].math,sum[i].chinese,sum[i].english);
    }
    return 0;
}
                                                                                                          

结果如下:

ubuntu@ubuntu:day1$ ./a.out
请依次输入姓名 学号 数学成绩 语文成绩 英语成绩
小智 1 99 99 99
小刚 2 69 69 69
小瑶 3 89 89 89
小霞 4 75 75 75
小明 5 60 60 60
录入的同学信息如下:
小智 1 99 99 99
小刚 2 69 69 69
小瑶 3 89 89 89
小霞 4 75 75 75
小明 5 60 60 60
按数学成绩排名如下:
小智 1 99 99 99
小瑶 3 89 89 89
小霞 4 75 75 75
小刚 2 69 69 69
小明 5 60 60 60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值