题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。

输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)

样例输入
2
1 blue 90 80 70
b clan 80 70 60

样例输出
85 75 65
1 blue 90 80 70分析:首先使用一个二维数组来保存输入的数据,因为每组数据的后三个为成绩,所以只需要把成绩转换为整数,分别相加就可以求出平均成绩,平均成绩求出后可以使用一个数组保存每个学生的成绩之和,找出总成绩的最大值,并且记下最大值的下标,即可输出成绩最高学生的数据。

import java.util.Scanner;

public class Main{
public static void main(String args[]){
  input();
}
public static void input(){
  Scanner in = new Scanner(System.in);
  int n = in.nextInt();

  String str[][] = new String[n][5];
  int sum[] = new int[n];
  int grade1=0,grade2=0,grade3=0;
  for(int i=0;i<n;i++){
    for(int j=0;j<5;j++){
      str[i][j]=in.next();
      if(j==2){
      grade1+=Integer.parseInt(str[i][j]);
}
    else if(j==3){
      grade2+=Integer.parseInt(str[i][j]);
}
    else if(j==4){
      grade3+=Integer.parseInt(str[i][j]);
}
}
    sum[i] = Integer.parseInt(str[i][2])+Integer.parseInt(str[i][3])+Integer.parseInt(str[i][4]);
}
    int max=sum[0];
    int index=0;
    for(int i=1;i<sum.length;i++){
      if(sum[i]>max){
      max=sum[i];
      index=i;
}

}
  System.out.print(grade1/n +" "+ grade2/n + " " + grade3/n);
  System.out.println();
  for(int i=0;i<5;i++){
    System.out.print(str[index][i]+" ");
}

}
}

 

转载于:https://www.cnblogs.com/xuesujun/p/11341937.html

问题 1051: [编程入门]结构体之成绩统计2相关推荐

  1. c语言double ave,[编程入门]结构体之成绩统计2-题解(C语言代码)

    解题思路: 运用结构体加数组即可 先求各成绩的平均数,再把所有学生作比较找到成绩最好的学生. 使用的代码比较简单基础. 参考代码:#include struct tagSTUDENT { char n ...

  2. 问题 1049: [编程入门]结构体之时间设计

    题目描述 定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 输入 年月日 输出 当年第几天 样例输入 2000 12 31 样例输出 366 import java.ut ...

  3. C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分

    4 C语言编程题--结构体 **设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中.请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有 ...

  4. Golang 入门 : 结构体(struct)

    Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型.试图表示一个现实世界中的实体. 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和 ...

  5. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别

    入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...

  6. Linux C Socket编程发送结构体、文件详解及实例

    利用Socket发送文件.结构体.数字等,是在Socket编程中经常需要用到的.由于Socket只能发送字符串,所以可以使用发送字符串的方式发送文件.结构体.数字等等. 本文:http://www.c ...

  7. 结构体对成绩进行排名

    期末考试结束后要对同学们的考试成绩进行排序,张老师已经计算好了每一位同学的总成绩.请编写程序,输入每位同学的总成绩并输出一个按成绩高低排列的名次表. 该问题中,在成绩排序的同时,需要相应的学号和姓名一 ...

  8. MASM32编程访问结构体成员要注意的一点

    今天继续用MASM32编写调用Windows API函数GetNativeSystemInfo来检测Windows操作系统是32位还是64位的程序. 修改完善形成了下面的代码: ;<<&l ...

  9. socket编程--sockaddr_in结构体操作

    sockaddr结构体 sockaddr的缺陷: struct sockaddr是一个通用地址结构,这是为了统一地址结构的表示方法,统一接口函数,使不同的地址结构可以被bind(),connect() ...

最新文章

  1. C++ #include 指令
  2. 物联网成网络安全防护新重点!
  3. 如何针对CMS系统进行SEO优化_
  4. 串口屏与6050_MPU6050温度值的读取与转换及串口通信,请指导
  5. Android面试宝典
  6. 2017西安交大ACM小学期 有趣异或[Trie树]
  7. linux的进程/线程/协程系列5:协程的发展复兴与实现现状
  8. 2016年中国国际信息通信展览会在北京开幕
  9. Java图形用户界面
  10. 字符型变量ch的值为英文字母 的c语言表达式
  11. django-haystack 对 多对多字段( ManyToManyField )进行索引
  12. 计算机怎么设置加密文件,怎么把电脑文件加密_怎么把文件加密-win7之家
  13. 如何同时或者按顺序间隔启动多个程序
  14. LAN-Cruising
  15. linux小米随身wifi密码,Ubuntu用小米随身WiFi
  16. readxl包导入excel报错Error: `path` does not exist解决方法
  17. mobi怎么在iphone上打开?
  18. FreeRTOS任务控制函数
  19. 科技论文翻译,俄语文档的语法有何特点
  20. 基于AM1808粗略概要

热门文章

  1. Linux 命令之 rpmbuild -- 用于创建 rpm 格式的二进制软件包和源码软件包
  2. Debian GNU/Linux 的发展简史
  3. scare机器人如何手眼标定_基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定位)...
  4. emacs python ide_Emacs Python IDE win7 x64
  5. python同步两张数据表_Python 如何实现数据库表结构同步
  6. _用WSL,MobaXterm,Cmder配置linux开发环境
  7. 选择排序与冒泡排序的区别
  8. eclipse查看git地址_gitamp;github的入门实战
  9. 工业以太网在工业领域的应用特点详解
  10. 什么是光纤收发器?光纤收发器作用是什么?