从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。输出这两个最大数和平均值,顺序为较小最大数,平均值(保
时间: 2024-02-22 20:54:54 浏览: 151
好的,以下是Python代码实现:
```python
n = int(input("请输入大于1小于100的正整数n:"))
nums = []
for i in range(n):
num = int(input("请输入第{}个整数:".format(i+1)))
nums.append(num)
avg = sum(nums) / len(nums)
max1 = float("-inf") # 小于平均值的最大数
max2 = float("-inf") # 大于平均值的最大数
for num in nums:
if num < avg and num > max1:
max1 = num
elif num > avg and num > max2:
max2 = num
print("较小最大数:{}".format(max1))
print("平均值:{}".format(avg))
print("较大最大数:{}".format(max2))
```
这段代码首先读入n和n个整数,并计算它们的平均值。然后遍历这n个整数,更新小于平均值的最大数和大于平均值的最大数。最后输出这两个最大数和平均值。
相关问题
从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。输出这两个最大数和平均值,顺序为较小最大数,平均值(保留两位小数点),较大最大数。
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
avg = sum(nums) / n
less_max = float('-inf')
greater_max = float('-inf')
for num in nums:
if num < avg and num > less_max:
less_max = num
elif num > avg and num > greater_max:
greater_max = num
print('{:.2f} {:.0f} {:.0f}'.format(less_max, avg, greater_max))
```
解释一下:
首先读入正整数 n 和 n 个整数存入列表 nums 中。
计算平均值 avg。
然后循环遍历 nums 列表中的每个数 num,如果 num 小于平均值并且大于当前的 less_max,就将 less_max 更新为 num;如果 num 大于平均值并且大于当前的 greater_max,就将 greater_max 更新为 num。
最后使用格式化字符串输出 less_max、avg 和 greater_max,其中 {:.2f} 表示输出一个小数点后保留两位的浮点数,{:.0f} 表示输出一个整数,中间的空格用来分隔输出结果。
python从键盘输入一个正整数n(n>1),该正整数可以分解成两个正整数k1和k2之积,要求k1≤k2。编写程序找出k1值最大的k1*k2的分解,并输出k1。若输入的n不大于1,输出error。
以下是实现该程序的Python代码:
```python
n = int(input("请输入一个正整数n:"))
if n <= 1:
print("error")
else:
k1 = 1
for i in range(2, n + 1):
if n % i == 0:
k1 = i
k2 = n // k1
print("k1的值是:", k1)
```
程序首先读入一个正整数n,然后判断n是否大于1,如果不是则输出"error"。否则,程序从2到n遍历每个数,如果n能够被当前数整除,就更新k1的值为当前数。最后根据k1和n计算k2的值,输出k1即可。
需要注意的是,程序中使用了Python的整数除法运算符//,以保证k2为整数。
阅读全文