📅  最后修改于: 2023-12-03 15:28:45.625000             🧑  作者: Mango
给定一组数字,编写一个程序来计算它们的平均值,舍入到小数点后两位。输入的第一行 t 是测试用例的数量。对于每个测试用例,输入的第一行是 n,表示数字的数量。第二行包含 n 个整数,它们是要求平均值的数字。
第一行包含一个整数 t,表示测试用例的数量。
每个测试用例的第一行包含一个整数 n,表示数字的数量。
每个测试用例的第二行包含 n 个整数,它们是要求平均值的数字。
对于每个测试用例,输出一行,即计算出的平均值,舍入到小数点后两位。
输入:
2
5
1 2 3 4 5
3
3 5 8
输出:
3.00
5.33
该题要求输入多组数据,每组数据都需要输出一个平均数结果。因此可以考虑使用循环结构,遍历每一组数据并分别计算平均值。
对于数据的输入,一种方式是使用多次输入语句,获取 t, n 和 n 个整数。另一种方式是使用文件读取,解析文件里的数字。得到数字后则可以通过求和和数量相除来计算平均值。最后将计算出的平均值保留两位小数并输出即可。
代码如下:
t = int(input())
for i in range(t):
n = int(input())
arr = list(map(int, input().split()))
avg = sum(arr) / n
print("{:.2f}".format(avg))
该算法包含一个循环结构,遍历了每一组数据,因此时间复杂度为 O(tn),其中 t 和 n 分别表示测试用例的数量和每个测试用例的数字数量。由于只开辟了一个数组来存储数字,因此空间复杂度为 O(n)。