导航

2013 ACM 通化邀请赛 A. Tutor

Posted on 2013-08-15 13:46  勇敢的炮灰  阅读(178)  评论(0)    收藏  举报
A. Tutor
Description
Lilin was a student of Tonghua Normal University. She is studying at University of 
Chicago now. Besides studying, she worked as a tutor teaching Chinese to Americans. So, 
she can earn some money per month. At the end of the year, Lilin wants to know his 
average monthly money to decide whether continue or not. But she is not good at 
calculation, so she ask for your help. Please write a program to help Lilin to calculate the 
average money her earned per month.
Input
The first line contain one integer T, means the total number of cases.
Every case will be twelve lines. Each line will contain the money she earned per 
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 of money she earned for the twelve 
months. It will be rounded to the nearest penny, preceded immediately by a dollar sign 

without tail zero. There will be no other spaces or characters in the output.


Sample Input
2
100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00

100.00


Sample Output
$1581.42

$100


比较水的一道题,就是求12个数的平均数。但加了一点小小的要求,。就是精确到2位小数,而且如果小数结尾有0,还要去掉

#include<stdio.h>
int main()
{
	int t;
	scanf("%d", &t);
	while(t--)
	{
		int i;
		double sum = 0;
		for(i = 0; i < 12; i++)
		{
			double num;
			scanf("%lf", &num);
			sum += num;
		}
		char str[100];
		sprintf(str, "%.2lf", sum / 12);
		int j;
		printf("$");
		for(j= 0; str[j]; j++)
		{
			if(str[j] == '.')
			{
				if(str[j + 2] == '0')
				{
					if(str[j + 1] == '0')
						break;
					else str[j + 2] = 0;
				}
			}
			putchar(str[j]);
		}
		printf("\n");
	}
	return 0;
}