1004 成绩排名 (20)

题目内容

读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。


题目链接

1004 成绩排名(20)


输入格式:每个测试输入包含1个测试用例,格式为\

第1行:正整数n
第2行:第1个学生的姓名 学号 成绩
第3行:第2个学生的姓名 学号 成绩
… … …
第n+1行:第n个学生的姓名 学号 成绩
其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。

输入样例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95

输出样例:
Mike CS991301
Joe Math990112


C语言实现

#include <stdio.h>
#include <string.h>

typedef struct st
{
    char name[15];
    char id[15];
    int val;
}info;

int main (void)
{   
    int val = 0;
    info max, min, temp;
    //初值不可少去 
    max.val = -1;
    min.val = 101;

    int i = 0;

    // 1. 输入输入学生的数据 
    scanf ("%d", &val);
    for (i = 0; i < val; i++)
    {
        scanf ("%s %s %d", &temp.name, &temp.id, &temp.val);
    //  printf ("ok1\n"); 
        // 找最小
        if (temp.val < min.val)
        {
            min = temp;
        } 
    //  printf ("ok2\n"); 
        //找最大 
        if (temp.val > max.val)
        {
            max = temp;
        } 
    }

    printf ("%s %s\n",max.name, max.id);
    printf ("%s %s\n",min.name, min.id);

    return 0;
}

 

posted @ 2018-06-04 17:30  NaLaEurCAS  阅读(210)  评论(0编辑  收藏  举报