一串数字中大于平均值输出,小于平均值不输出
时间: 2023-05-19 21:01:40 浏览: 50
这是一个编程类的问题,可以回答。以下是一个可能的解决方案:
首先,需要计算这串数字的平均值。假设这串数字存储在一个数组中,可以使用以下代码计算平均值:
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
double average = (double) sum / array.length;
接下来,可以遍历数组,将大于平均值的数字输出:
for (int i = 0; i < array.length; i++) {
if (array[i] > average) {
System.out.println(array[i]);
}
}
注意,这只是一个简单的解决方案,可能存在一些边界情况需要考虑。
相关问题
python中一串数字中大于平均值输出,小于平均值不输出
可以使用以下代码实现:
```python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
average = sum(numbers) / len(numbers)
for num in numbers:
if num > average:
print(num)
```
这段代码会计算出数字列表的平均值,然后遍历列表,如果某个数字大于平均值,则输出该数字。
从键盘读入大于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} 表示输出一个整数,中间的空格用来分隔输出结果。