1.题目信息
http://poj.org/problem?id=1004
Financial Management
Time Limit: 1000MS |
|
Memory Limit: 10000K |
Total Submissions: 92521 |
|
Accepted: 45271 |
Description
Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been going on with his money. Larry has his bank account statements and wants to see how much money he has. Help Larry by writing a program to take his closing balance from each of the past twelve months and calculate his average account balance.
Input
The input will be twelve lines. Each line will contain the closing balance of his bank account for a particular month. Each number will be positive and displayed to the penny. No dollar sign will be included.
Output
The output will be a single number, the average (mean) of the closing balances for the twelve months. It will be rounded to the nearest penny, preceded immediately by a dollar sign, and followed by the end-of-line. There will be no other spaces or characters in the output.
Sample Input
100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
1.75
Sample Output
$1581.42
2.算法思路
本题是基础题目,实质上是依次输入12个浮点数,然后求出平均值即可,注意,平均值前要加'$'符号,并且要求精确到小数点后两位。
3.参考代码
半年没写C代码了,差点连printf的格式化输出都忘记了......下面的代码应该是典型的算法,但是花费的内存过多(180K),POJ上该题第一名花费内存只有4K,求高手指点优化!
/*
Name: POJ1004
Author: chenbin
Date: 08-10-12 18:07
Description: http://poj.org/problem?id=1004
*/
#include <stdio.h>
int main()
{
float penny = 0,sum = 0;
int i = 0;
for(i = 0 ; i <= 11;i++)
{
scanf("%f",&penny);
sum += penny;
}
printf("$%.2f\n",sum/12.0);
return 0;
}