(c语言版)智能成绩表

第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文字母构成,单个长度不超过10个字符。科目的出现顺序和后续输入的学生成绩一一对应。不会出现重复的科目名称。
第3行开始的n行,每行包含一个学生的姓名和该生m个科目的成绩(空TMH@不会重名。学生姓名只由英文字母构成,长度不超过10个字符。成绩是L00W笙数,依次对应第2行中输入的科目。
第n+2行,输入用作排名的科目名称。若科目不存在,则按总分进行排序

#include<stdio.h>
struct student{
   
    char name[11];
    int score[11];
    int total;
}mystu[100];
void mysort(struct student *a,int nums,int course,int cmp){
   
    struct student temp={
   0};
    for(int i=1;i<nums;i++){
   
        for(int j=0;j<nums-i;j++){
   
            if(mystu[j].score[cmp]<mystu[j+1].score[cmp]||
               mystu[j].score[cmp]==mystu[j+1].score[cmp]&&mystu[j].total<mystu[j+1].total){
   
                temp=mystu[j];
                mystu[j]=mystu[j+1];
                mystu[j+1]=temp;
            }
        }
    }
}
int main(){
   
    int n=0;
    int m=0;
    scanf("%d%d",&n,&m);
    char str[10][11];
    char temp[10]={
   0};
    for(int i=0;i<m;i++){
   
        scanf("%s",str[i]);
    }
    for(int i=0;i<n;i++){
   
        scanf("%s",mystu[i].name);
        mystu[i].total=0;
        for(int j=0;j<m;j++){
   
            scanf("%d",&mystu[i].score[j]);
            mystu[i].total+=mystu[i].score[j];
        }
    }
    scanf("%s",temp);
    int cmp=0;
    for(int i=0;i<n;i++){
   
        mystu[i].score[m]=0;
    }
    for(cmp=0;cmp<m;cmp++){
   
        if(*temp==*str[cmp])
            break;
    }
    mysort(mystu,n,m,cmp);
    for(int i=0;i<n;i++){
   
        printf("%s ",mystu[i].name);
    }
    return 0;
}

相关推荐

  1. (c语言)智能成绩

    2024-02-05 02:58:01       48 阅读
  2. 顺序C语言

    2024-02-05 02:58:01       30 阅读
  3. 数据结构——顺序C语言

    2024-02-05 02:58:01       46 阅读
  4. C语言题目:成绩归类

    2024-02-05 02:58:01       120 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 02:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 02:58:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 02:58:01       82 阅读
  4. Python语言-面向对象

    2024-02-05 02:58:01       91 阅读

热门阅读

  1. 详细解说MySQL中data_sub()函数

    2024-02-05 02:58:01       38 阅读
  2. QEMU搭建Linux-ARM系统

    2024-02-05 02:58:01       53 阅读
  3. C# CAD界面介绍(一)

    2024-02-05 02:58:01       53 阅读
  4. Kotlin-类

    2024-02-05 02:58:01       53 阅读
  5. 1162. 地图分析

    2024-02-05 02:58:01       59 阅读
  6. 软件测试按照开发阶段划分5大类

    2024-02-05 02:58:01       51 阅读
  7. require.context 与 import.meta.glob

    2024-02-05 02:58:01       47 阅读
  8. 突破编程_C++_面试(基础知识(5))

    2024-02-05 02:58:01       51 阅读
  9. vue+springboot项目开发,使用MySQL示例数据库sakila

    2024-02-05 02:58:01       49 阅读
  10. MySQL十部曲之七:InnoDB索引及其优化措施

    2024-02-05 02:58:01       59 阅读
  11. day19 初始HTML

    2024-02-05 02:58:01       49 阅读
  12. NumPy基础之一维数组获取和修改元素

    2024-02-05 02:58:01       52 阅读