PKU_ACM_3507_Judging Olympia

本文提供了一道来自PKU ACM在线评测系统的简单编程题的解答方案。该题要求处理输入数据,去除最高分和最低分后计算平均成绩,并针对不同情况输出整数或浮点数平均值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 http://acm.pku.edu.cn/JudgeOnline/problem?id=3507 原题

 

简单题

 

 

  1. import java.io.*;
  2. import java.util.*;
  3. public class Main
  4. {
  5.     static Vector<String> grades;
  6.     public static void main(String[] args) throws Exception
  7.     {
  8.         readData();
  9.     }
  10.     public static void readData() throws Exception
  11.     {
  12.         BufferedReader br = new BufferedReader(
  13.             new InputStreamReader(System.in));
  14.         grades = new Vector<String>();
  15.         String sTemp = null;
  16.         while(isOk(sTemp=br.readLine()))
  17.         {
  18.             grades.add(sTemp);
  19.         }
  20.         process();
  21.     }
  22.     public static boolean isOk(String str)
  23.     {
  24.         for(int i=0; i<str.length(); i+=2)
  25.         {
  26.             if(str.charAt(i)!=48)
  27.                 return true;
  28.         }
  29.         return false;
  30.     }
  31.     public static void process()
  32.     {
  33.         StringTokenizer st = null;
  34.         StringBuffer ret = new StringBuffer();
  35.         for(int i=0; i<grades.size(); i++)
  36.         {
  37.             st = new StringTokenizer(grades.get(i)," ");
  38.             int iCount = 0;
  39.             int sum = 0;
  40.             int[] arrays = new int[st.countTokens()];
  41.             while(st.hasMoreTokens())
  42.             {
  43.                 arrays[iCount++] = Integer.valueOf(st.nextToken());
  44.             }
  45.             Arrays.sort(arrays);
  46.             for(int ii=1; ii<arrays.length-1; ii++)
  47.             {
  48.                 sum+=arrays[ii];
  49.             }
  50.             if(sum%(arrays.length-2)==0)
  51.                 ret.append(sum/(arrays.length-2));
  52.             else
  53.             {
  54.                 int temp = sum/(arrays.length-2);
  55.                 sum %= (arrays.length-2);
  56.                 ret.append((temp+(double)sum/(double)(arrays.length-2)));
  57.             }
  58.             if(i!=0)
  59.                 System.out.println();
  60.             System.out.print(ret.toString());
  61.             ret.delete(0,ret.length());
  62.         }
  63.     }
  64. }
内容概要:本文详细介绍了手工艺品销售系统的设计与实现,旨在通过计算机技术提升手工艺品销售的信息管理水平。该系统基于Java语言和Spring Boot框架构建,使用MySQL数据库进行数据管理。系统主要功能包括手工艺品管理、评价管理、订单管理、购物车管理和求购管理等,涵盖了管理员、商家和用户三类用户群体的具体操作需求。文中还详细描述了系统的开发技术、设计原则、功能模块、数据库设计及其实现过程,并通过多种测试确保系统的稳定性和功能性。此外,文章讨论了系统的优点,如高效的信息处理、友好的操作界面和较低的误操作率,但也指出了系统在数据存储和代码优化方面存在的不足。 适合人群:对电子商务系统设计感兴趣的计算机专业学生及从业者,特别是那些希望深入了解基于Java和Spring Boot框架的Web应用程序开发的人士。 使用场景及目标:①适用于希望开发或改进手工艺品销售平台的企业和个人;②为学习如何设计和实现高效、易用的电子商务系统提供参考案例;③帮助理解如何利用现代Web开发技术和数据库管理工具提升业务运营效率。 其他说明:尽管系统具备许多优点,但在数据冗余和代码复用性方面仍有改进空间。未来的工作将集中在优化数据库结构和精简代码以提高系统性能和维护性。同时,本文还强调了在项目开发过程中持续学习和解决问题的重要性,感谢了导师和其他相关人员的支持与帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值