回 帖 发 新 帖 刷新版面

主题:Scores

import java.io.*;
public class Scores
{
  public static void main(String args[])
  {
    float scores[]=new float[50]; 
    float min,max;
    int i,j;
    double sum=0.0,v;
    System.out.println("50学生数学成绩:");
    for(i=0;i<50;i++)
    {
      scores[i]=(float)(Math.random()*101);
      sum=sum+scores[i];
      System.out.println(scores[i]+" "); 
    }
    System.out.println("总分是:"+sum); 
    v=sum/50;
    System.out.println("平均分是:"+v);  
     for(i=0;i<49;i++)
      for(j=0;j<=i;j++)
        if(scores[j]>scores[j+1])
         {
           float t=scores[j];
           scores[j]=scores[j+1];
           scores[j+1]=t;
         }
    System.out.println("min="+scores[0]+"");
    System.out.println("max="+scores[49]+"");  
  }
}
其中的 scores[i]=(float)(Math.random()*101);
这101不知道怎么出来的

回复列表 (共4个回复)

沙发

这个问题很简单,想想Math.random()范围是0~1, 考试分数是0~100,你就知道了

板凳

if(scores[j]>scores[j+1])
         {
           float t=scores[j];
           scores[j]=scores[j+1];
           scores[j+1]=t;
         }
    System.out.println("min="+scores[0]+"");
    System.out.println("max="+scores[49]+"");  
最大值是会求出来,但觉得最小值求不出来耶

3 楼

for(i=0;i<49;i++)
      for(j=0;j<=i;j++)
        if(scores[j]>scores[j+1])
         {
           float t=scores[j];
           scores[j]=scores[j+1];
           scores[j+1]=t;
         }
    System.out.println("min="+scores[0]+"");
    System.out.println("max="+scores[49]+"");  
不能理解啊、、、、、、苦

4 楼

for(i=0;i<49;i++)
      for(j=0;j<=i;j++)
        if(scores[j]>scores[j+1])
         {
           float t=scores[j];
           scores[j]=scores[j+1];
           scores[j+1]=t;
         }
这是一个冒泡排序的过程,把成绩由小到大排好了

我来回复

您尚未登录,请登录后再回复。点此登录或注册