【C语言-结构体】输入学号姓名各科成绩并排序

!!!完整版已更新
9个功能
在这里插入图片描述
班级成绩管理系统-增删查改排序文件读取保存等功能【C语言】

运行截图
在这里插入图片描述

#include<stdio.h>
struct Stu
{
    char Name[25];     //姓名
    int Number;        //学号
    int Language_score;//语文成绩
    int Math_score;    //数学成绩
    int English_score; //英语成绩
    int PE_score;      //体育成绩
    int C_score;       //C语言成绩
    int Sum_score;     //总成绩
};
void Create(struct Stu Class[],int n)
{
    int j,k,tem;
    for(j=0; j<n; j++)
    {
        printf("输入第%d位同学姓名:",j+1);
        scanf("%s",Class[j].Name);
        getchar();
        printf("输入第%d位同学学号:",j+1);
        scanf("%d",&Class[j].Number);
        printf("输入第%d位同学语文成绩:",j+1);
        scanf("%d",&Class[j].Language_score);
        printf("输入第%d位同学数学成绩:",j+1);
        scanf("%d",&Class[j].Math_score);
        printf("输入第%d位同学英语成绩:",j+1);
        scanf("%d",&Class[j].English_score);
        printf("输入第%d位同学体育成绩:",j+1);
        scanf("%d",&Class[j].PE_score);
        printf("输入第%d位同学C语言成绩:",j+1);
        scanf("%d",&Class[j].C_score);
        Class[j].Sum_score=Class[j].Language_score+Class[j].Math_score+Class[j].English_score+Class[j].PE_score+Class[j].C_score;
    }

}
void Print(struct Stu Class[],int n)
{
    printf("姓名  学号  语文  数学  英语  体育  C语言  总分");
    printf("\n");
    int j;
    for(j=0; j<n; j++)
    {
        printf("%5s",Class[j].Name);
        printf("%5d",Class[j].Number);
        printf("%6d",Class[j].Language_score);
        printf("%6d",Class[j].Math_score);
        printf("%6d",Class[j].English_score);
        printf("%6d",Class[j].PE_score);
        printf("%6d",Class[j].C_score);
        printf("%7d",Class[j].Sum_score);
        printf("\n");
    }
}
void Sort(struct Stu Class[],int n)
{
    int j,k;
    struct Stu t;
    for(j=0; j<n-1; j++)
    {
        for(k=0; k<n-j-1; k++)
        {
            if(Class[k].Sum_score<Class[k+1].Sum_score)
            {
                t=Class[k];
                Class[k]=Class[k+1];
                Class[k+1]=t;
            }
        }
    }
}
int main()
{
    struct Stu Class [25];
    int n,j,k,tem;
    printf("输入学生的个数(不大于25):");
    scanf("%d",&n);
    Create(Class,n);
    printf("\n");
    Print(Class,n);
    Sort(Class,n);
    printf("\n按总成绩排序后:\n\n");
    Print(Class,n);
    return 0;
}
  • 15
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fuill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值