zoukankan      html  css  js  c++  java
  • 1004. 成绩排名 (20)

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

    输入格式:每个测试输入包含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
    
    #include<iostream>
    using namespace std;
    struct Student{
      char name[20];
      char no[20];
      int score;
    };
    int main()
    {
      int n;
      cin>>n;
      struct Student stu[110];
      int k,j;
      for(int i=0;i<n;i++)
         cin>>stu[i].name>>stu[i].no>>stu[i].score;
      int max=0;
      int min=0;
      for(int i=0;i<n;i++)
        {
          if(stu[i].score>stu[max].score)
             max=i;
          if(stu[i].score<stu[min].score)
             min=i;
        
         }
      cout<<stu[max].name<<" "<<stu[max].no<<endl;
      cout<<stu[min].name<<" "<<stu[min].no<<endl;
      return 0;
    }

    另一段代码也能运行,通过排序后再输出最大和最小值,但是实际上是复杂化了,时间复杂度不符合要求,所以在PAT上检测时测试点2未通过

    #include<iostream>
    using namespace std;
    struct Student{
        char name[20];
        char no[20];
        int score;
    }stu[110];
    int main()
    {
        int n;
        cin>>n;
        struct Student temp;
        int k,j;
        for(int i=0;i<n;i++)
           cin>>stu[i].name>>stu[i].no>>stu[i].score;
        for(int i=0;i<n-1;i++)
        {
            k=i;
            for(j=i+1;j<n;j++)
              if(stu[j].score>stu[k].score)        //进行成绩的比较
                 k=j; 
            temp=stu[k];
            stu[k]=stu[j];
            stu[j]=temp;
        }
        cout<<stu[n-1].name<<" "<<stu[n-1].no<<endl;
        cout<<stu[0].name<<" "<<stu[0].no<<endl;
        return 0;
    }
  • 相关阅读:
    适合新手小白的UI学习路线完整版
    UI设计课程教程分享:Banner的设计和技巧
    UI设计:C4D作品案例分享
    还在凭实力单身吗,那是因为你还没学会这项技术
    PS故障风海报制作技术分享
    你真的了解标签栏设计吗?
    来看看N多设计师笔下的Spider Man
    羡慕女设计师啊,天生色感好!
    43. Multiply Strings
    40. Combination Sum II
  • 原文地址:https://www.cnblogs.com/lytmy7/p/7551082.html
Copyright © 2011-2022 走看看