CSP真题【201903-1】 小中大
题目就不贴图了,大家应该都知道题目的~
看到题目后我的想法是:
- 数据本来就是有序的,题目要求是从大到小的顺序,所以数据来了之后,只要第一个元素比最后一个元素小,逆序一下数据就和题目要求一样了。
- 数据从大到小排序了,自然第一个是最大值,最后一个是最小值
- 计算中位数,分数据个数是技术还是偶数
接下来就是实现啦:
n = int(input())
arr = [int(i) for i in input().split()]
if arr[0] < arr[n-1]:
for i in range((n)//2):
temp = arr[i]
arr[i] = arr[n-1-i]
arr[n-1-i] = temp
if n % 2 != 0:
print(arr[0],arr[(n-1)//2],arr[n-1])
if n % 2 == 0:
if (arr[n // 2] + arr[(n - 1) // 2]) % 2 == 0:
k = (arr[n // 2] + arr[(n - 1) // 2]) // 2
print(arr[0],k,arr[n-1])
else:
k = (arr[n // 2] + arr[(n - 1) // 2]) / 2
print("{} {} {}".format(arr[0],k,arr[n-1]))
反思:
- python的库函数知道较少,这些简单的操作python会给提供,如果了解,可能只有几行代码-----满满积累吧!
- python的输入输出格式的控制是个很重要的知识点!
就这样啦~~这是之前写的题,今天有空才来写博客,希望以后同步着!!#__#