【问题描述】编写一个程序,统计出一维整型数组中大于等于所有元素平均值的元素个数并输出。 【输入形式】标准输入的第一行表示参与计算的数值的个数n,标准输入的2至n+1行表示参与计算的n个数。 【输出形式】标准输出的一行表示大于等于平均数的元素的个数。若标准输入的第一行不是0或正整数,输出"illegal input"。 【样例输入】 5 1 2 3 4 5 【样例输出】 3
时间: 2024-02-18 11:01:39 浏览: 30
以下是Python的代码实现:
```python
n = int(input())
if n <= 0:
print("illegal input")
else:
nums = list(map(int, input().split()))
avg = sum(nums) / n
count = 0
for num in nums:
if num >= avg:
count += 1
print(count)
```
输入格式为:
```
n
a1 a2 ... an
```
其中n为整数,表示参与计算的数值的个数,a1到an为n个整数,表示参与计算的n个数。
输出格式为一个整数,表示大于等于平均数的元素的个数。
例如,输入样例为:
```
5
1 2 3 4 5
```
则程序输出为:
```
3
```
相关问题
编写一个函数,统计出一维数组中大于等于所有元素平均值的元素个数并返回它
好的,以下是一个符合您要求的 Python 函数:
```python
def count_above_average(arr):
"""
统计给定数组中大于等于平均值的元素个数
Args:
arr: 一个包含数字的一维数组
Returns:
大于等于平均值的元素个数
"""
if not arr:
return 0
avg = sum(arr) / len(arr)
count = 0
for num in arr:
if num >= avg:
count += 1
return count
```
这个函数首先计算出给定数组的平均值,然后遍历数组,统计大于等于平均值的元素个数并返回。如果给定数组为空,则返回 0。
【问题描述】编写一个程序,统计出一维整型数组中大于 等于所有元素平均值的元素个数并输出。 【输入形式】标准输入的第一行表示参与计算的数值的个数n,标准输入的2至n+1行表示参与计算的n个数。 【输出形式】标准输出的一行表示大于等于平均数的元素的个数。若标准榆入的第一行不是O或工整数,输出1lega I input".
我可以回答这个问题。以下是程序的实现:
#include <stdio.h>
int main() {
int n, sum = 0, count = 0;
double avg;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
avg = (double) sum / n;
for (int i = 0; i < n; i++) {
if (arr[i] >= avg) {
count++;
}
}
printf("%d", count);
return 0;
}
输入形式示例:
5
1 2 3 4 5
输出形式示例:
3