zoukankan      html  css  js  c++  java
  • 蓝桥杯 算法训练 ALGO-141 P1102

    算法训练 P1102  
    时间限制:1.0s   内存限制:256.0MB
      定义一个学生结构体类型student,包括4个字段,姓名、性别、年龄和成绩。然后在主函数中定义一个结构体数组(长度不超过1000),并输入每个元素的值,程序使用冒泡排序法将学生按照成绩从小到大的顺序排序,然后输出排序的结果。
      输入格式:第一行是一个整数N(N<1000),表示元素个数;接下来N行每行描述一个元素,姓名、性别都是长度不超过20的字符串,年龄和成绩都是整型。
      输出格式:按成绩从小到大输出所有元素,若多个学生成绩相同则成绩相同的同学之间保留原来的输入顺序。
    输入:
      3
      Alice female 18 98
      Bob male 19 90
      Miller male 17 92

    输出:
      Bob male 19 90
      Miller male 17 92
      Alice female 18 98
     
    示例代码:
     1 import java.io.BufferedReader;
     2 import java.io.IOException;
     3 import java.io.InputStreamReader;
     4 import java.util.StringTokenizer;
     5 
     6 public class Main {
     7     public static void main(String[] args) throws IOException{
     8         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
     9         int n = Integer.parseInt(br.readLine());
    10         
    11         Student[] stu = new Student[n];    //保存学生信息
    12         
    13         for(int i = 0 ; i < n ; i++){
    14             stu[i] = new Student();
    15             String  s = br.readLine();
    16             StringTokenizer stn = new StringTokenizer(s);    //StringTokenizer类允许应用程序将字符串分解为标记
    17                                                             //将输入的一行字符分解,然后赋给每个变量
    18             stu[i].name = stn.nextToken();
    19             stu[i].sex = stn.nextToken();
    20             stu[i].age = Integer.parseInt(stn.nextToken());
    21             stu[i].score = Integer.parseInt(stn.nextToken());
    22         }
    23         
    24         //冒泡排序
    25         for(int i = 0 ; i < n ; i++){
    26             for(int j = 1 ; j < n-i ; j++){
    27                 Student student = new Student();
    28                 if(stu[j-1].score > stu[j].score){
    29                     student = stu[j-1];
    30                     stu[j-1] = stu[j];
    31                     stu[j] = student;
    32                 }
    33             }
    34         }
    35         //输出排序后的学生信息
    36         for(int i = 0 ; i < n ; i++){
    37             System.out.println(stu[i].name +" " + stu[i].sex + " "
    38                              + stu[i].age + " " + stu[i].score);
    39         }
    40     }
    41     
    42     static class Student{
    43         public String name;
    44         public String sex;
    45         public int age;
    46         public int score;
    47     }
    48 }
  • 相关阅读:
    excel查找定位操作(for lutai)
    sqlserver检查sql执行时间
    excel操作for(lutai)
    android studio 3.0+发布签名apk注意的情况
    二维码
    svn文件合并
    生成wsdl代理c#代码
    LOCK_TIMEOUT
    支持chrome30下载文件
    miniui处理多重子表级联,一次性提交多表数据的ui要点
  • 原文地址:https://www.cnblogs.com/cao-lei/p/6686441.html
Copyright © 2011-2022 走看看