HDOJ 2023 求平均成绩

Problem Description
假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。

Input
输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。

Output
对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的平均成绩,结果保留两位小数;第三行是一个整数,表示该班级中各科成绩均大于等于平均成绩的学生数量。
每个测试实例后面跟一个空行。

Sample Input
2 2
5 10
10 20

Sample Output
7.50 15.00
7.50 15.00
1

在此,我利用的方法是,如果是n*m的大小,我就开(n+1)*(m+1)
大小的空间,最后一行的数据用来存放当前一行的数据和,最后一列的数据用来
存放当前一列的数据之和。

import java.util.Scanner;
class Main{
    public static void main(String args[]){
        Scanner sc =new  Scanner(System.in);
        while(sc.hasNext()){
            int n =sc.nextInt();
            int m =sc.nextInt();
            int stuStr[][] = new int[n+1][m+1];
            for(int i=0;i<n;i++){
                for(int j=0;j<m;j++){
                    stuStr[i][j] = sc.nextInt();
                    stuStr[i][m] = stuStr[i][j]+stuStr[i][m];//一门课的n个学生的平均成绩
                    stuStr[n][j] = stuStr[i][j]+stuStr[n][j];//一个学生m门课的平均成绩
                }
            }
            double nStr[] = new double[n];
            double mStr[] = new double[m];

            nStr[0] =(double)stuStr[0][m]/m;
            System.out.printf("%.2f",nStr[0]);
            for(int i=1;i<n;i++){
                nStr[i] = (double)stuStr[i][m]/m;
                System.out.printf(" %.2f",nStr[i]);
            }
            System.out.println();

            mStr[0]=(double)stuStr[n][0]/n;
            System.out.printf("%.2f",mStr[0]);
            for(int i=1;i<m;i++){
                mStr[i] = (double)stuStr[n][i]/n;
                System.out.printf(" %.2f",mStr[i]);
            }
            System.out.println();

            int sum=0;
            for(int i=0;i<n;i++){
                int sum_s = 0;
                for(int j=0;j<m;j++){
                    if(mStr[j]<=stuStr[i][j]){
                      sum_s++;
                    }
                }
                if(sum_s==m){
                     sum++;
                    }
            }
            System.out.println(sum);
            System.out.println();

        }
    }
}
时间: 2024-09-17 01:51:55

HDOJ 2023 求平均成绩的相关文章

汇编程序:求平均成绩(用汇编玩结构体)

求平均成绩 在下面的数据段中,给出了全班3名同学OS.AL.SE.DB课程的成绩,请编程计算出平均成绩,写在 ? 处. datasg segment db '201558501111','MMTJAB ',90,100,76,89,? db '201558501112','ZhangAP ',97,82,79,88,? db '201558501113','ShaoXL ',77,98,89,91,? db 4 ;这是课程门数,将要用于作除数,偏移量为75 datasg ends 参考解答: a

求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序

问题描述 求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序 求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序 解决方案 命令式编程语言就是一般的编程语言,比如c/basic等. 根据你的要求,无非就是遍历数组,然后求和,除以数量得到平均值.具体什么语言.比如C int sum = 0; for (int i = 0; i < count; i++) sum+= data[i]; float a

数据库 sql语言-SQL Server创建存储过程,计算每个同学的平均成绩并标记“优秀学生”

问题描述 SQL Server创建存储过程,计算每个同学的平均成绩并标记"优秀学生" 如题:请用命令行创建存储过程,计算每个同学的平均成绩,写入S_AVG表,平均成绩大于85的学生,Flag标记为"优秀学生",平均成绩低于60的的学生,Flag标记为"延迟毕业",其他学生Flag标记为"常规学生". 能查到的有关例子太少了,自学不成功,求大神解答-- 解决方案 分步做 1.计算每个同学的平均成绩,写入S_AVG表 insert

python里对list中的整数求平均并排序_python

问题 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, (1)将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来. (2)将这40个成绩按照从高到低的顺序输出出来. 解决(python) #! /usr/bin python #coding:utf-8 from __future__ import division #实现精确的除法,例如4/3=1.333333 import random def make_scor

日期相同的数据a求平均,b求平均

问题描述 日期相同的数据a求平均,b求平均 解决方案 格式化一下日期,每个数据库都有自带的函数,格式化到天. 然后在select avg(a),avg(b) from 表 group by 格式化后的日期 解决方案二: SELECT avg(a) ,avg(b) from (select * from table t where t.updatetime BETWEEN '2016-04-12 00:00:00' and '2016-04-12 23:59:59') a; 解决方案三: SELE

spark求平均-关于spark RDD求平均的问题

问题描述 关于spark RDD求平均的问题 hi, 假设我有一个spark RDD里面记录的是(时段,分数,次数) 我现在想求:每个时段的平均分数,即:同一个时段下,总分数 / 总次数 不知有什么好方法没有,因为我发现无论是action操作也好,转换成其他Rdd也好, 总没有满意方法,只能分成两个rdd然后关联处理 求大侠帮忙,谢谢 解决方案 先转化为pairrdd,以时段为键,分数次数为值,然后以键aggregate聚合,统计每个键下的值就行了 解决方案二: spark RDD countA

c语言-c语要求从键盘输入学生成绩同量计算班级平均成绩和及格学生的人数以及平均成绩??

问题描述 c语要求从键盘输入学生成绩同量计算班级平均成绩和及格学生的人数以及平均成绩?? c语言,要求从键盘输入学生成绩同量计算班级平均成绩和及格学生的人数以及平均成绩?? 解决方案 #include int main() { char ch; int i,Grade,Sum,passSum,gradeSum,passGradeSum; passSum = gradeSum = passGradeSum = 0; printf("请输入学生人数 "); scanf("%d&q

平均成绩-结果应该是80.40和78.20,请问是哪里出错了,菜鸟求大神指教

问题描述 结果应该是80.40和78.20,请问是哪里出错了,菜鸟求大神指教 #include int main() { float average(float array[], int n); float score1[5] = { 98.5,97,91.5,60,55 }; float score2[10] = { 67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5 }; printf("the average of class A is %6.2fn&quo

Excel应用教程:Excel数据透视表分类求学生成绩平均值

期末统考结束后,教育局要求全市学生的成绩都汇总在如图1的同一个Excel工作表中,并要求求出各学校.各专业.各学科的平均分. 全市三个学校.每个学校都有六个专业.每个专业都有五门课.各专业人数不等,总计有1000余人,工作量巨大.但如果采用Excel数据透视表来完成的话,呵呵,就简单多了. 一.创建数据透视表 点击菜单命令"数据→数据透视表和数据透视图",打开"数据透视表和数据透视图向导"对话框. 第一步,如图2所示,选择"Microsoft Excel数