学生分数

题目描述 description

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

输入 input

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

输出 output

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

样例输入 sample input

1 blue 90 80 70

2 clan 80 70 60

样例输出 sample output

85 75 65

1 blue 90 80 70

  • 这是一段Java菜鸟费劲九牛二虎之力尽力写的很基础的代码,仅供参考
  • package compete;

      public class Student {

    String id;

    String name;

    int score1;

    int score2;

    int score3;

    public Student() //Student类的构造方法

    {

    this.id=id;

    this.name=name;

    this.score1=score1;

    this.score2=score2;

    this.score3=score3;

    }

    public String getId()

    {

    return id;

    }

    public String getName()

    {

    return name;

    }

    public int getScore1()

    {

  • return score1;

    }

    public int getScore2()

    {

    return score2;

    }

    public int getScore3()

    {

    return score3;

    }

      }

  • 再写一个Get类

  •  

    import java.util.Arrays;

    import java.util.Scanner;

    public class Get {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Scanner s=new Scanner(System.in);

    int n=s.nextInt();

    Student a[ ]=new Student [n];  //将每位学生基本信息按照数组类型存储起来

    for(int i=0;i<n;i++)

    {

          a[i]=new Student();         //创建所输入的n个学生对象

      a[i].id=s.next();

      a[i].name=s.next();

      a[i].score1=s.nextInt();

      a[i].score2=s.nextInt();

      a[i].score3=s.nextInt();

    }

    // for(int i=0;i<n;i++)    //利用循环来获取学生各项信息并输出       

    // {

    // System.out.println(a[i].getId()+" "+a[i].getName()+" "+a[i].getScore1()+" "+a[i].getScore2()+" "+a[i].getScore3());

    // }

    int avg1=0;

    int avg2=0;

    int avg3=0;

    int max=0;

    int count=0;

    for(int j=0;j<n;j++)   //求各科成绩的平均数

    {   if(j>=1) //两人以上平均成绩求法

        {   

            avg1=a[j].score1=(a[j-1].score1+a[j].score1)/2;

                avg2=a[j].score2=(a[j-1].score2+a[j].score2)/2;

                avg3=a[j].score3=(a[j-1].score3+a[j].score3)/2;

        }

      if(max<(a[j].score1+a[j].score2+a[j].score3))  // 求三科成绩最高者

      {

      max=a[j].score1+a[j].score2+a[j].score3;

      count=j;

      }

    }   

    System.out.println(avg1 +" "+ avg2 +" "+ avg3);//输出各科成绩的平均值

    System.out.println(a[count].name+" "+a[count].id+" "+a[count].score1+" "+a[count].score2+" "+a[count].score3);//输出总成最高的学生信息

    }

    }

    其实编程也是一件有趣的事,坚持

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值