ZZULIOJ 1194: 總成績排序(結構體專題),Java

ZZULIOJ 1194: 總成績排序(結構體專題),Java

題目描述

有一學生成績表,包括學號、姓名、3門課程成績。請按如下規則排序:按總成績降序排序,若總成績相同,則按姓名升序排序。

輸入

首先輸入一個整數n(1<=n<=100),表示學生人數;
然后輸入n行,每行包含一個學生的信息:學號(12位)、姓名(不含空格且不超過20位),以及3個整數,表示3門課成績,數據之間用空格隔開。

輸出

輸出排序后的成績單,格式見輸出樣例。

樣例輸入 Copy

3
541207010188 Zhangling 89 78 95
541207010189 Wangli 85 87 99
541207010190 Fangfang 89 88 85

樣例輸出 Copy

541207010189 Wangli 85 87 99 271
541207010190 Fangfang 89 88 85 262
541207010188 Zhangling 89 78 95 262
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;class Student {String id;String name;int[] scores;public Student(String id, String name, int[] scores) {this.id = id;this.name = name;this.scores = scores;}public int getTotalScore() {return scores[0] + scores[1] + scores[2];}
}public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();ArrayList<Student> students = new ArrayList<>();for (int i = 0; i < n; i++) {String id = sc.next();String name = sc.next();int[] scores = new int[3];for (int j = 0; j < 3; j++) {scores[j] = sc.nextInt();}students.add(new Student(id, name, scores));}Collections.sort(students, (s1, s2) -> {if (s1.getTotalScore() != s2.getTotalScore()) {return Integer.compare(s2.getTotalScore(), s1.getTotalScore()); // Descending by total score} else {return s1.name.compareTo(s2.name); // Ascending by name if total scores are the same}});for (Student student : students) {System.out.println(student.id + " " + student.name + " " + student.scores[0] + " " + student.scores[1] + " " + student.scores[2] + " " + student.getTotalScore());}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39219.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39219.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39219.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 約束

查看約束 select * from information_schema.table_constraints where table_name要查看的表名按約束的作用范圍 列級約束&#xff1a; 將此約束聲明在對應字段的后面 表級約束&#xff1a;在表中所有字段都聲明完&#xff0c;在所有字段的后面聲明的約束&#xff0c;可以聲明…

屏蔽惡意域名的DNS查詢

因為有一些惡意域名, 已經在防火墻上做了封禁了, 但是如果收到中毒主機的請求, 還是要去做一次DNS查詢, 因此被上級單位通告, 因此想把惡意域名的DNS查詢封禁做到防火墻下聯的AC上面, 一方面因為防火墻的策略優先級DNS代理比較靠后, 另一方面也是為了減小防火墻壓力, 簡化配置:…

【leetcode】鏈表part2

24. 兩兩交換鏈表中的節點 迭代方法 public static ListNode swapPairs(ListNode head) {// 輸入&#xff1a;head [1,2,3,4]// 輸出&#xff1a;[2,1,4,3]ListNode dummy new ListNode(0);dummy.next head;ListNode cur dummy;while (cur.next ! null && cur.ne…

數據結構的樹存儲結構

數據結構的樹存儲結構 之前介紹的所有的數據結構都是線性存儲結構。本章所介紹的樹結構是一種非線性存儲結構&#xff0c;存儲的是具有“一對多”關系的數據元素的集合。 (A) (B) 圖 1 樹的示例 圖 …

【Java】2021 RoboCom 機器人開發者大賽-高職組(復賽)題解

7-8 人工智能打招呼 號稱具有人工智能的機器人&#xff0c;至少應該能分辨出新人和老朋友&#xff0c;所以打招呼的時候應該能有所區別。本題就請你為這個人工智能機器人實現這個功能&#xff1a;當它遇到陌生人的時候&#xff0c;會說&#xff1a;“Hello X, how are you?”其…

chatglm2-6b模型在9n-triton中部署并集成至langchain實踐 | 京東云技術團隊

一.前言 近期&#xff0c; ChatGLM-6B 的第二代版本ChatGLM2-6B已經正式發布&#xff0c;引入了如下新特性&#xff1a; ①. 基座模型升級&#xff0c;性能更強大&#xff0c;在中文C-Eval榜單中&#xff0c;以51.7分位列第6&#xff1b; ②. 支持8K-32k的上下文&#xff1b…

三種目標檢測方法(基于傳統數字圖像處理的識別方法、基于傳統機器學習的識別方法和基于深度學習的識別方法)的區別

問題描述&#xff1a;圖像檢測分為了基于傳統數字圖像處理的識別方法、基于傳統機器學習的識別方法和基于深度學習的識別方法&#xff0c;但是有時迷惑三者的區別是什么呢&#xff1f; 問題解答&#xff1a; 第一&#xff0c;基于傳統數字圖像處理的識別方法和其他兩者的區分…

【Linux】進程地址空間

目錄 一、回顧我們以前學習的地址空間二、進程地址空間三、進程地址空間的作用四、解決一個地址出現兩個值的問題 一、回顧我們以前學習的地址空間 這個內存布局真是的我們實實在在的內存嘛&#xff1f; 答案是不是的 下面我們來驗證 1 #include<stdio.h>2 #include<a…

從三個主要需求市場分析,VR全景創業的潛力發展

VR全景&#xff0c;5G時代朝陽產業&#xff0c;其實拍攝制作很簡單&#xff0c;就是利用一套專業的相機設備去給商家拍攝&#xff0c;結合后期專業的3DVR全景展示拍攝制作平臺&#xff0c;打造3D立體環繞的效果&#xff0c;將線下商家真實環境1&#xff1a;1還原到線上&#xf…

使用docker快速搭建wordpress服務,并指定域名訪問

文章目錄 引入使用docker快速跑起服務創建數據庫安裝wordpress服務配置域名 引入 wordpress是一個基于PHP語言編寫的開源的內容管理系統&#xff08;CMS&#xff09;&#xff0c;它有豐富的插件和主題&#xff0c;可以非常簡單的創建各種類型的網站&#xff0c;包括企業網站、…

Java異步方法CompletableFuture類的使用

Java中常用的異步方法 1、使用線程&#xff1a;你可以創建一個新的線程來執行異步操作。這可以通過直接創建Thread對象并啟動它&#xff0c;或者使用線程池來管理線程的生命周期。 new Thread(() -> {// 異步操作代碼 }).start(); 2、使用線程池Executor框架&#xff1a;E…

Spring Boot 支持多種環境,包括開發環境、測試環境、預發布環境和生產環境。

Spring Boot 支持多種環境&#xff0c;包括開發環境、測試環境、預發布環境和生產環境。不同的環境具有不同的配置&#xff0c;可以在不同的環境中對應用程序進行測試、驗證和部署。以下是每種環境的用途和相應的代碼案例。 開發環境 開發環境是開發人員在本地進行開發的環境&…

AI Chat 設計模式:15. 橋接模式

本文是該系列的第十五篇&#xff0c;采用問答式的方式展開&#xff0c;問題由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字則主要是我的一些思考和補充。 問題列表 Q.1 如果你是第一次接觸橋接模式&#xff0c;那么你會有哪些疑問呢&#xff1f;A.1Q.2 什…

內網隧道—HTTP\DNS\ICMP

本文僅限于安全研究和學習&#xff0c;用戶承擔因使用此工具而導致的所有法律和相關責任&#xff01; 作者不承擔任何法律和相關責任&#xff01; HTTP隧道 Neo-reGeorg Neo-reGeorg 是一個旨在積極重構 reGeorg 的項目&#xff0c;目的是&#xff1a; 提高可用性&#xff0…

山西電力市場日前價格預測【2023-08-17】

日前價格預測 預測明日&#xff08;2023-08-17&#xff09;山西電力市場全天平均日前電價為376.70元/MWh。其中&#xff0c;最高日前電價為431.75元/MWh&#xff0c;預計出現在19: 45。最低日前電價為339.25元/MWh&#xff0c;預計出現在13: 15。 價差方向預測 1&#xff1a; 實…

python實現抽獎小程序

使用Python的Tkinter庫來添加抽獎程序的界面操作。下面是一個示例代碼&#xff1a; import random import tkinter as tkdef lottery():prizes [一等獎, 二等獎, 三等獎, 謝謝參與]winner random.choice(prizes)result_label.config(text恭喜您獲得了{}&#xff01;.format(…

未出現過的最小正整數

給定一個長度為 n 的整數數組&#xff0c;請你找出未在數組中出現過的最小正整數。 樣例 輸入1&#xff1a;[-5, 3, 2, 3]輸出1&#xff1a;1輸入2&#xff1a;[1, 2, 3]輸出2&#xff1a;4數據范圍 1≤n≤105 , 數組中元素的取值范圍 [?109,109]。 代碼&#xff1a; c…

MySql主從復制1032錯誤(Slave_IO_Running: Yes Slave_SQL_Running: No)

MySql主從復制1032錯誤&#xff08;Slave_IO_Running: Yes Slave_SQL_Running: No&#xff09; Slave_IO_Running: Yes Slave_SQL_Running: No報錯&#xff1a; Last_SQL_Error: Could not execute Delete_rows event on table hr.test; Can’t find record in ‘test’, Erro…

【Unity造輪子】制作一個簡單的2d抓勾效果(類似蜘蛛俠的技能)

文章目錄 前言開始1. 實現簡單的抓勾效果2. 高階鉤爪效果 源碼參考完結 前言 歡迎閱讀本文&#xff0c;本文將向您介紹如何使用Unity游戲引擎來實現一個簡單而有趣的2D抓勾效果&#xff0c;類似于蜘蛛俠的獨特能力。抓勾效果是許多動作游戲和平臺游戲中的常見元素&#xff0c;…

【AI繪畫】3分鐘學會ikun幻術圖

目錄 前言一、效果展示二、準備工作三、操作步驟3.1平臺創建實例3.2 啟動SD 四、安裝QR Code Monster 模型五、成圖 前言 大家熱愛的ikun幻術在今天的分享中將呈現。在本文中&#xff0c;我們將揭示一個備受歡迎的圖像幻術技術&#xff0c;讓您感受到令人驚嘆的視覺創造力。 …