百炼OJ1004

来源:互联网 发布:模拟退火算法应用实例 编辑:程序博客网 时间:2024/04/30 04:23
描述

Larry今年毕业并找到了一份工作。他赚很多钱,但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单,想看看自己有多少钱。请帮助Larry写一个程序,通过过去12个月中每月的月末结余,计算平均结余。

输入
输入包含12行,每行包含一个数,为某个月的结余。每个数都是不大于1,000,000的正数,保留两位小数,省略"$"符。
输出
输出一个数,为这12个月的平均月末结余,保留到小数点后第二位,并在最前面加一个"$"符。
样例输入
100.00489.1212454.121234.10823.05109.205.271542.25839.1883.991295.011.75
样例输出
$1581.42
这个破题卡了我半天,一直是WrongAnswer。网上找了几个java的提交上去也都是WrongAnswer。看了oj的提交记录,用java的也多会出现WrongAnswer。

首先来看看我最初的代码:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. import java.text.DecimalFormat;  
  2. import java.util.Scanner;  
  3.   
  4. public class Main {  
  5.     public static void main(String[] args) {  
  6.         Scanner in = new Scanner(System.in);  
  7.         float r = 0;  
  8.         int i = 0;  
  9.         while (i < 12) {  
  10.             r = r + in.nextFloat();  
  11.             i++;  
  12.         }  
  13.         r = r / 12;  
  14.         DecimalFormat df = new DecimalFormat(".00");  
  15.         String s = df.format(r);  
  16.         System.out.println("$" + s);  
  17.     }  
  18. }

那么错误在哪里呢?我想到了边界测试。有如下两个测试用例

case 1:

input:


10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 
10000.00 output:

$10000.00

case 2:

input:

0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01

output:

$.01

显然case2出现了问题。问题在于数据格式。当整数部分为0时会被舍去(注意红色部分)。为此修改如下:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. import java.text.DecimalFormat;  
  2. import java.util.Scanner;  
  3.   
  4. public class Main {  
  5.     public static void main(String[] args) {  
  6.         Scanner in = new Scanner(System.in);  
  7.         float r = 0;  
  8.         int i = 0;  
  9.         while (i < 12) {  
  10.             r = r + in.nextFloat();  
  11.             i++;  
  12.         }  
  13.         r = r / 12;  
  14.         DecimalFormat df = new DecimalFormat("0.00");  
  15.         System.out.println("$" + df.format(r));  
  16.     }  
  17. }
这次两个用例都通过了,提交到oj也accepted了。
0 0
原创粉丝点击