1004 成绩排名

简介: 1004 成绩排名

题目描述

1004 成绩排名题目描述

解题思路

自定义结构体类型,成员包括姓名,学号,成绩。

对于姓名和学号是字符串,注意有\0,数组大小最小为11

我们分别用a,b表示最低成绩的下标,最高成绩的下标。用min,max分别表示最小成绩和最大成绩。

循环进行比较找出最低成绩的下标与最高成绩的下标。最后输出即可。

具体实现看下面的代码:

代码实现

#include <stdio.h>
#include <stdlib.h>
typedef struct studet
{
  char name[11];
  char id[11];
  int grade;
}stu;
int main()
{
  int n;
  scanf("%d", &n);
  stu* people = (stu*)malloc(n * sizeof(stu));
  int i = 0;
  int a = 0, b = 0, min = 0, max = 0;
  for (i = 0; i < n; i++)
  {
    scanf("%s%s%d", (people+i)->name, (people + i)->id, &(people + i)->grade);
    if (i == 0)//预设第一个人的成绩既是最大也是最小的
    {
      min = (people + i)->grade;
      max = (people + i)->grade;
    }
    //进行比较,找出最低成绩的下标与最高成绩的下标
    if ((people + i)->grade < min)
    {
      min = (people + i)->grade;
      a = i;
    }
    if ((people + i)->grade > max)
    {
      max = (people + i)->grade;
      b = i;
    }
  }
  //输出
  printf("%s %s\n", (people + b)->name, (people + b)->id);
  printf("%s %s\n", (people + a)->name, (people + a)->id);
  return 0;
}

相关文章
|
6月前
|
固态存储 Windows
排序后的学生成绩单
排序后的学生成绩单。
32 1
|
测试技术
PTA 1004 成绩排名
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
94 0
|
关系型数据库
PTA 1080 MOOC期终成绩 (25 分)
对于在中国大学MOOC(www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。
107 0
PTA 1041 考试座位号 (15 分)
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。
101 0
|
C++
蓝桥杯练习题一 - 生日蜡烛(c++)
蓝桥杯练习题一 - 生日蜡烛(c++)
162 0
|
测试技术
PAT乙级1004.成绩排名(20分)
PAT乙级1004.成绩排名(20分)
94 0
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过40人参加考试。请编程计算:(1)每个学生的总分和平均分;(2)每门课程的总分和平均分。
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过40人参加考试。请编程计算:(1)每个学生的总分和平均分;(2)每门课程的总分和平均分。
347 0
L2-015 互评成绩 (25 分)(sort)
L2-015 互评成绩 (25 分)(sort)
124 0