用一维数组实现:(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);
}
}