【PTA】【C语言】寻找最高分-创新互联

给定n(n⩾1)个学生的学号、姓名和3门课的考试成绩。编写程序找出总分最高的学生,并输出其学号、姓名和总分。如果有多个相同的最高分,则输出所有最高分学生的信息。
要求:
  存储学生信息及考试成绩的变量用如下结构类型来定义。

成都创新互联-专业网站定制、快速模板网站建设、高性价比广德网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式广德网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖广德地区。费用合理售后完善,10多年实体公司更值得信赖。
struct  Student
{
    char num[11];        //学号,最多10个字符
    char name[11];       //姓名, 最多10个字符
    int s1,s2,s3;        //三门课的考试成绩 
    int total;           //总成绩   
} ;
typedef struct Student Student;  //声明了一个结构类型Student类型
输入格式:

输入在一行中给出非负整数n(n⩾1)。随后n行,每行给出一个学生的信息,格式为学号 学号 姓名 成绩1 成绩2 成绩3,中间以空格分隔。
要求:
学号姓名中不包括空白字符(空格、tab符)和空字符串。

输出格式:

在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。

输入样例:
5
2109001 HuangJie 78 83 79
2109002 Liuhaipeng 79 80 77
2109003 Wangqiang 87 86 76
2109004 Liangfeng 92 89 79
2109005 Chengmeng 80 82 75
输出样例:

在这里给出相应的输出。例如:

2109004 Liangfeng 260

代码如下: (需注意题目要求:如果有多个相同的最高分,则输出所有最高分学生的信息)

#include#includestruct  Student
{
    char num[11];        //学号,最多10个字符
    char name[11];       //姓名, 最多10个字符
    int s1,s2,s3;        //三门课的考试成绩 
    int total;           //总成绩   
} ;
typedef struct Student Student;  //声明了一个结构类型Student类型

int main()
{
    int n, i, j, k = 0;
    int max = 0;
    scanf("%d", &n);
    struct Student s[n];
    for (i = 0; i< n; i++)
    {
        scanf("%s %s %d %d %d", s[i].num, s[i].name, &s[i].s1, &s[i].s2, &s[i].s3);
        s[i].total = s[i].s1 + s[i].s2 + s[i].s3;
        if (s[i].total >max)
        {
            max = s[i].total;
            k = i;
        }
    }
    printf("%s %s %d\n", s[k].num, s[k].name, s[k].total);
    for (i = k + 1; i< n; i++)
    {
        if (s[i].total == max)
            printf("%s %s %d\n", s[i].num, s[i].name, s[i].total);
    }
    return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻标题:【PTA】【C语言】寻找最高分-创新互联
分享链接:http://scyanting.com/article/cosheg.html