输入n个整数,每个数应空格分开。输出最接近平均值的元素,有多个元素与平均值的距离相同的话,输出排序靠前的原始值.
时间: 2024-06-09 21:05:06 浏览: 7
以下是一个Python的实现:
```python
n = int(input())
nums = list(map(int, input().split()))
avg = sum(nums) / n
closest = nums[0]
for num in nums:
if abs(num - avg) < abs(closest - avg):
closest = num
elif abs(num - avg) == abs(closest - avg):
closest = min(closest, num)
print(closest)
```
首先读入输入的整数个数和每个整数的值,然后计算它们的平均值。接着,我们遍历所有整数,找到与平均值距离最近的整数,如果有多个整数与平均值的距离相同,我们就选择排序靠前的整数。最后输出最接近平均值的整数。
相关问题
一行中输入n个整数,输出最接近平均值的值,若有多个元素输出排序靠前的Python
可以先将输入的n个整数存储在一个列表中,然后计算它们的平均值。接着遍历列表,找到与平均值最接近的元素。如果有多个元素与平均值的差距相同,就输出排序靠前的那个元素。
以下是代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
avg = sum(nums) / n
closest = nums[0]
dist = abs(nums[0] - avg)
for i in range(1, n):
new_dist = abs(nums[i] - avg)
if new_dist < dist:
closest = nums[i]
dist = new_dist
elif new_dist == dist:
closest = min(nums[i], closest)
print(closest)
```
输入示例:
```
5
1 2 3 4 5
```
输出示例:
```
3
```
解释:平均值为3,与3最接近的元素是3本身。
一行中输入n个整数,输出最接近平均值的值,若有多个元素输出排序靠前的原始值Python
可以先计算平均值,然后遍历整个列表,记录与平均值差值最小的元素及其下标,最后输出该元素的值即可。
以下是示例代码:
```python
n = int(input()) # 输入整数个数
nums = list(map(int, input().split())) # 输入整数列表
mean = sum(nums) / n # 计算平均值
min_diff = float('inf') # 初始化差值最小值为正无穷大
result = nums[0] # 初始化最接近平均值的元素为第一个元素
for i in range(n):
diff = abs(nums[i] - mean) # 计算当前元素与平均值的差值
if diff < min_diff: # 如果差值比最小值还小,则更新最小值和结果
min_diff = diff
result = nums[i]
print(result) # 输出最接近平均值的元素值
```
注意,如果有多个元素与平均值差值相同,那么需要输出排序靠前的元素,因此我们可以在遍历整个列表时,记录第一个差值最小的元素即可。