输入若干个实数,计算平均值并统计比平均值大的实数的个数
时间: 2023-05-27 16:02:27 浏览: 61
1. 首先需要读取若干个实数,可以使用Python中的input()函数获取用户输入的实数序列。
2. 将输入的实数序列存储到列表中,并计算实数序列的长度。
3. 计算实数序列的平均值,可以使用Python中的sum()函数计算实数序列的和,并用长度将其除以。
4. 对于每一个实数,判断是否大于平均值,如果是,则累加计数器。
5. 输出平均值及比平均值大的实数的个数,可以使用Python中的print()函数输出结果。
代码如下:
```
nums = input("请输入实数序列,多个数之间用空格隔开:")
nums_list = nums.split()
n = len(nums_list)
nums_list = [float(num) for num in nums_list]
avg = sum(nums_list) / n
count = 0
for num in nums_list:
if num > avg:
count += 1
print("平均值为:", avg)
print("比平均值大的实数个数为:", count)
```
相关问题
用java语言编写程序,输入若干个实数,计算平均值并统计比平均值大的实数的个数
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入实数的个数: ");
int n = scanner.nextInt();
double[] nums = new double[n]; // 定义一个大小为n的double类型数组
double sum = 0; // 记录输入的实数之和
for (int i = 0; i < n; i++) {
System.out.printf("请输入第%d个实数: ", i+1);
double num = scanner.nextDouble();
nums[i] = num; // 将输入的实数存储到数组中
sum += num;
}
double ave = sum / n; // 求平均值
int count = 0; // 统计大于平均值的实数个数
for (int i = 0; i < n; i++) {
if (nums[i] > ave) {
count++;
}
}
System.out.printf("平均值为: %.2f,大于平均值的实数个数为: %d", ave, count);
}
}
```
样例输入:
```
请输入实数的个数: 5
请输入第1个实数: 3.2
请输入第2个实数: 4.5
请输入第3个实数: 2.8
请输入第4个实数: 5.6
请输入第5个实数: 3.9
```
样例输出:
```
平均值为: 3.80,大于平均值的实数个数为: 3
```
输入10个实数,计算并输出所有大于0的数的平均值。
我们可以使用以下步骤来解决这个问题:
1. 输入10个实数,并将它们存储在一个列表中。
2. 初始化一个计数器count和一个累加器sum,用于计算所有大于0的数的个数和它们的总和。
3. 遍历列表中的每个数,如果它大于0,则将它加入累加器中,并将计数器加1。
4. 计算所有大于0的数的平均值,即将累加器除以计数器。
5. 输出平均值。
下面是Python代码实现:
```
num_list = []
for i in range(10):
num = float(input("请输入第{}个实数:".format(i+1)))
num_list.append(num)
count = 0
sum = 0
for num in num_list:
if num > 0:
count += 1
sum += num
if count > 0:
average = sum/count
print("所有大于0的数的平均值为:", average)
else:
print("没有大于0的数。")
```
示例输出:
```
请输入第1个实数:-3
请输入第2个实数:2.5
请输入第3个实数:0
请输入第4个实数:-1
请输入第5个实数:4
请输入第6个实数:-2
请输入第7个实数:3
请输入第8个实数:1
请输入第9个实数:-5
请输入第10个实数:6
所有大于0的数的平均值为: 3.4
```