0%

UVA11945 题解

一、题目大意

输入 $n$ 组数据,每组包含 $12$ 个数,求出这 $12$ 个数的平均值并按要求输出

二、题目分析

求平均数显然不是难点,这里不再赘述。本题的重难点在于输出,要不然这道题也不会是紫的

所以,我们来整理一下本题的逻辑:

  1. 求出平均值
  2. 保留 $2$ 位小数四舍五入
  3. 将答案拆分成两部分
  4. 打印

理清了逻辑,代码也就不难了

本文使用 Python,C++ 可以看别的题解

这里我们可以利用一些 Python 的特点来简化代码 (Python 党狂喜)

我们可以直接将舍入后的答案直接转为字符串,利用 Python 的切片进行输出

三、AC code

1
2
3
4
5
6
7
8
9
10
11
12
13
n = eval(input())
for i in range(n):
s = 0
for j in range(12):
s += eval(input())
ans = round(s / 12, 2)
ansStr = str(ans)
if ansStr[-2] == '.':
ansStr += '0'
if ans >= 1000:
print(i + 1, '$' + ansStr[:-6] + ',' + ansStr[-6:])
else:
print(i + 1, '$' + ansStr)