第三章實驗 全班同學課程的統計工作

用一維數組實現:(30個學生)的課程成績統計工作。用隨機數產生全班同學的成績,保存在數組中

2
用一維數組實現:全班同學(30個學生)的課程成績的統計工作 。用隨機數產生全班同學的成績,保存在數組中。
(1) 輸出最高分和它的索引號
(2) 按等級統計出各級別人數。
A級: 90~100分;
B級:80~89分;
C級:70~79分;
D:60~69分;
E級:0~59分
(3)計算全班的平均成績和標準差。標準差公式sqrt(((x1-x)^2 +(x2-x)^2 +…(xn-x)^2)/n ),其中的x表示平均成績。
(4) 對學生成績排序,按降序序列輸出,輸出格式要求:每行10個,用空格分隔;在這裏插入圖片描述



package 兩個題;

 /*
 	原創:馬志勇
 	許昌學院

*/

import
java.text.DecimalFormat;

 

public class Grade {

     public static void Fenji(int a[]) {

          int A=0,B=0,C=0,D=0,E=0;

          for (int i = 0; i < a.length; i++) {

               if(a[i]>=90) {

                    A++;

               }

               else if(a[i]>=80) {

                    B++;

               }

               else if(a[i]>=70) {

                    C++;

               }

               else if(a[i]>=60) {

                    D++;

               }

               else 

                    E++;

          }

          System.out.println("***分數段級別***");

          System.out.println("A:"+A+"\tB:"+B);

          System.out.println("C:"+C+"\tC:"+C);

          System.out.println("E:"+E);   

     }

     public static void a_1(int a[]) {

          int t=Mix_i(a);

          System.out.println("最高分:"+a[t]+"\t 
學號:1902-"+(t+1));

     }

     public static int Mix_i(int a[]) {

          

          int min = 0;

          int t = 0;

          for (int i = 0; i < a.length; i++) {

               if (min < a[i]) {

                    min = a[i];

                    t = i;

               }

          }

          return t;

     }

     public static double average(int a[]) {

          double ave=0;

          DecimalFormat de=new DecimalFormat();

          int sum=0;

          for (int i = 0; i < a.length; i++) {

               sum=sum+a[i];

          }

          ave=(sum/30)*100;

          return ave;

     }

     public static String calculate(int a[],double ave) {

          DecimalFormat de=new DecimalFormat("0.0");

          double result;

          String result1;

          double middle=0;

          for(int i=0;i<a.length;i++) {

               middle =Math.pow(a[i]-ave, 2); 

          }

          result=Math.sqrt(middle);

          result1=de.format(result);

          return result1;

     }

     public static void jiangxu(int a[]) {

          for (int i = 0; i < a.length-1; i++) {

               for(int j=i+1;j<a.length;j++) {

                    if(a[i]<a[j]) {

                         int mid=a[j];

                         a[j]=a[i];

                         a[i]=mid;

                    }

               }

          }

          int t=0;

          for (int i = 0; i < a.length; i++) {

               t++;

               System.out.print(a[i]+" ");

               if(t>14) {

                    System.out.println("\n");

                    t=0;

               }

          }

     }

     public static void main(String[] args) {

          DecimalFormat de=new DecimalFormat("0.0");

          System.out.println("**************班級整體情況*****************");

          int a[]=new int[30];

          for (int i = 0; i < a.length; i++) {

               a[i]=(int)((Math.random()*100)+1);

          }

          a_1(a);

          Fenji(a);

          double c=average(a)/100;

          System.out.println("平均分:"+de.format(c));

          System.out.println("標準差:"+calculate(a,c));

          System.out.println("降序爲:");

          jiangxu(a);

          

     }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章