编程从键盘上输入20个整数,求去掉最大值和最小值以后那些元素的平均值
时间: 2024-05-02 11:17:52 浏览: 129
以下是Python的代码实现:
```python
num_list = []
for i in range(20):
num = int(input("请输入整数:"))
num_list.append(num)
max_num = max(num_list)
min_num = min(num_list)
num_list.remove(max_num)
num_list.remove(min_num)
avg = sum(num_list) / len(num_list)
print("去掉最大值和最小值以后的平均值为:", avg)
```
代码思路:
1. 创建一个空列表num_list;
2. 通过循环,从键盘上输入20个整数,并将它们添加到num_list中;
3. 使用max函数和min函数分别求出num_list中的最大值和最小值;
4. 使用remove函数将num_list中的最大值和最小值删除;
5. 使用sum函数和len函数求出num_list中所有元素的和与元素个数,并计算平均值;
6. 输出平均值。
相关问题
用c语言从键盘上输入5个整数,求去掉最大值和最小值以后那些元素的平均值
在C语言中,你可以按照以下步骤来实现这个功能:
1. 首先,创建一个循环结构,用于从用户那里输入5个整数。可以使用`for`循环,提示用户逐次输入。
```c
#include <stdio.h>
int main() {
int numbers[5], max_value, min_value, sum = 0;
```
2. 使用`scanf`函数获取用户的输入,并存储到数组`numbers`中。同时,初始化两个变量`max_value`和`min_value`用于保存最大值和最小值。
```c
for (int i = 0; i < 5; i++) {
printf("请输入第 %d 个整数:", i + 1);
scanf("%d", &numbers[i]);
// 检查并更新最大值和最小值
if (i == 0 || numbers[i] > max_value) {
max_value = numbers[i];
}
if (i == 0 || numbers[i] < min_value) {
min_value = numbers[i];
}
sum += numbers[i]; // 累加求和
}
```
3. 输入结束后,计算去掉最大值和最小值后剩余元素的平均值。由于已经知道了最大值和最小值,所以只需遍历数组一次,跳过这两个值,然后除以剩下的元素个数(4,这里假设数组大小始终为5)。
```c
int remaining_count = 5 - 2; // 去掉最大值和最小值后的元素个数
double average = (double)sum / remaining_count;
printf("去掉最大值和最小值后的平均值是:%.2f\n", average);
return 0;
}
```
C语言从键盘输入5个整数去掉最大值和最小值求剩下的元素的平均数
在C语言中,你可以通过以下步骤计算给定五个整数输入(去掉最大值和最小值)后的平均数:
1. 首先,使用`scanf()`函数从用户那里获取五个整数的输入,并将它们存储在一个数组中。
```c
#include <stdio.h>
int main() {
int num[5];
for (int i = 0; i < 5; i++) {
scanf("%d", &num[i]);
}
```
2. 接着,你需要找到数组中的最小值和最大值。可以使用两个变量分别记录当前找到的最小值和最大值,然后遍历数组更新这两个值。
```c
int min = num[0], max = num[0];
for (int i = 1; i < 5; i++) {
if (num[i] < min) {
min = num[i];
} else if (num[i] > max) {
max = num[i];
}
}
```
3. 使用`min`和`max`来构建一个新的数组,只包含大于`min`且小于`max`的数。
```c
int filtered[3] = {0};
int count = 0;
for (int i = 0; i < 5; i++) {
if (num[i] != min && num[i] != max) {
filtered[count++] = num[i];
}
}
```
4. 计算剩余数字的平均数。由于我们知道有三个有效数字,可以直接除以3得到平均值。注意这里假设数组元素个数是固定的3个。
```c
float average = (float)filtered[count - 1] / count;
```
5. 最后,打印结果:
```c
printf("平均数是: %.2f\n", average);
return 0;
}
```
阅读全文