hdu 2023 求平均成绩 java数组练手- -

本文提供了一个Java程序示例,用于统计和分析学生在多个科目上的成绩。通过读取输入的成绩数据,程序能够计算每位学生的平均成绩以及每个科目的班级平均成绩,并找出所有科目成绩均高于科目平均分的学生人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

= - = -= =- = -= -= -= - =- = -=

import java.io.*;
import java.util.*;
import java.math.*;
import java.text.*;

public class Main{
	public static void main(String ss[])
	{
		DecimalFormat f = new DecimalFormat("#0.00");
		Scanner in = new Scanner( new BufferedInputStream ( System.in ) );
		f.setRoundingMode(RoundingMode.HALF_UP); // 默认是HALF_EVEN, 需要改成HALF_UP
		int n, m;
		while( in.hasNext() )
		{
			int cnt = 0;
			n = in.nextInt();
			m = in.nextInt();
			double[][] sc = new double[55][55];
			double[] avi_stu = new double[55];
			double[] avi_sc = new double[55];
			Arrays.fill( avi_stu, 0.0 );
			Arrays.fill( avi_sc, 0.0 );
			for( int i = 1; i <= n; ++i )
			{
				for( int j = 1; j <= m; ++j )
				{
					sc[i][j] = in.nextDouble();
					avi_stu[i] += sc[i][j];
					avi_sc[j] += sc[i][j];
				}
				avi_stu[i] /= m;
			}
			for( int i = 1; i <= m; ++i )
				avi_sc[i] /= n;
			for( int i = 1; i <= n; ++i )
			{
				boolean OK = true;
				for( int j = 1; j <= m; ++j )
				{
					if( sc[i][j] < avi_sc[j] )
					{
						OK = false;
						break;
					}
				}
				if( OK )
					cnt++;
			}
			for( int i = 1; i <= n; ++i )
			{
				if( i == n )
					System.out.println( f.format(avi_stu[i]) );
				else
					System.out.print( f.format(avi_stu[i]) + " ");
			}
			for( int i = 1; i <= m; ++i )
			{
				if( i == m )
					System.out.println( f.format(avi_sc[i]));
				else
					System.out.print( f.format(avi_sc[i]) + " " );
			}
			System.out.println( cnt );
			System.out.println( );
		}
	}
}

wa是因为四舍五入时候的控制问题,详见 http://blog.youkuaiyun.com/alanzyy/article/details/8465098

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值