POJ 1004 Financial Management
这道题居然涉及了统计学知识,嘿嘿,其实也没有那么难。
原题地址:http://poj.org/problem?id=1004
POJ 1004 财政管理
描述
Larry 今年毕业找到了工作。他赚了大把大把的钱,但是看起来总是不够的样子。Larry 已经决定开始用理财来解决他的经济问题。第一步就是弄清楚他的钱被用来干什么了。Larry 有银行账号的记录,所以他能从这里知道他的每月结余。请你帮助 Larry 写一个程序,来看看在过去的 12 个月内,Larry 每月的平均结余是多少。
输入
输入将占用 12 行,每行会包含他银行账号中每个月的余额。每个数字都是正数,而且会精确到分(也就是小数点后两位)。输入数据中不会有美元符号。
输出
输出你计算出那 12 个月的每月平均结余。请四舍五入地精确到分(即小数点后两位)。数字之前紧随美元符号,数字之后紧随一个换行。请注意,输入中不存在任何其它的空白字符。
样例输入
100.00 489.12 12454.12 1234.10 823.05 109.20 5.27 1542.25 839.18 83.99 1295.01 1.75
样例输出
$1581.42
解题思路
没错,它果然是一道统计学的题目,并且还涉及到了计算平均数的知识。多么高深啊。高深的题目总是有简单的代码,就比如动规啦,等等。
源代码
玩笑开完就看源码吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.text.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); final int count = 12; float total = 0.0f; for (int i = 0; i < count; ++i) { total += cin.nextFloat(); } float average = total / (float)count; int penny = (int)(average * 100.0f + .5f); float round = (float)penny / 100.0f; String pattern = "#.##"; DecimalFormat decimal = new DecimalFormat(pattern); String result = decimal.format(round); System.out.println("$" + result); } } |
