分析成绩

编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设最高分为100。
提示用户输入学生成绩,输入一个负数表示结束;将用户输入的学生成绩存入数组scores中,定义sum用来求成绩总和,首先判断用户输入的分数是否合法(即是否超过最高分100),若超过则提示输入有误,若合法则加入sum。sum / i 求得平均数ave,定义high和low分别计数大于等于平均分和低于平均分的人数,将数组中的成绩与平均分比较,大于或等于则high++,低于则low++。
代码如下:

public class AnalyzeScores {   
  public static void main(String[] args) {   
      java.util.Scanner input = new java.util.Scanner(System.in);
      System.out.println("请输入学生成绩,以负数结束:"); 
      double[] scores = new double[1000];        
      double sum = 0; 
      int i = 0;        
      for (i = 0;i <= scores.length;i++){      
            scores[i] = input.nextDouble();            
            if(scores[i] > 100){             
               System.out.printf("第%d个分数输入有误!",i+1);                
               return;
            }            
            else if (scores[i] >= 0)           
                 sum = sum + scores[i];            
            else           
                  break;        
      }        
      double ave = sum / i;        
      int high = 0;        
      int low = 0;        
      for (int j = 0;j < i;j++){        
          if (scores[j] < ave)           
               low++;            
          else         
               high++;        
      }        
      System.out.println("高于或等于平均分的有: " + high + " 个,低于平均分的有: " + low + " 个" );    
   }
 }

运行结果:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值