用java现有一个整数数组{100,50,90,60,80,70}。 请编写程序,计算去掉最大值和最小值后的平均值(不考虑小数部分)
时间: 2023-09-10 21:04:56 浏览: 198
### 回答1:
可以先找到最大值和最小值,再将它们从数组中移除,最后求出剩余元素的平均值。以下是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int[] nums = {100, 50, 90, 60, 80, 70};
int min = nums[0]; // 初始化最小值为第一个元素
int max = nums[0]; // 初始化最大值为第一个元素
int sum = 0; // 初始化总和为0
for (int num : nums) {
sum += num; // 求出总和
if (num < min) {
min = num; // 更新最小值
}
if (num > max) {
max = num; // 更新最大值
}
}
int avg = (sum - min - max) / (nums.length - 2); // 去掉最大值和最小值后求平均值
System.out.println("去掉最大值和最小值后的平均值为:" + avg);
}
}
```
输出结果为:
```
去掉最大值和最小值后的平均值为:76
```
### 回答2:
首先,声明一个整数数组{100,50,90,60,80,70},并且将最大值和最小值找出来。
使用一个for循环来遍历整个数组,通过比较来找出最大值和最小值。在循环过程中,首先将数组的第一个元素设为最大值和最小值,然后逐个比较数组中的元素与当前最大值和最小值的大小,如果比最大值大则更新最大值,如果比最小值小则更新最小值。
最后,使用一个for循环计算出去掉最大值和最小值的数组元素的和,累加每一个元素。同时,使用一个变量cnt计算去掉最大值和最小值的数组的元素数量,方便计算平均值。
最后,将和除以元素数量cnt,得到平均值。为了得到整数部分,可以通过强制类型转换为整型。
以下是完整代码:
public class Main {
public static void main(String[] args) {
int[] nums = {100,50,90,60,80,70};
// 找到最大值和最小值
int max = nums[0];
int min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
// 计算和并计数
int sum = 0;
int cnt = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != max && nums[i] != min) {
sum += nums[i];
cnt++;
}
}
// 计算平均值
int average = sum / cnt;
System.out.println("去掉最大值和最小值后的平均值为:" + average);
}
}
### 回答3:
首先,我们可以使用一个整型数组来存储给定的整数数组{100,50,90,60,80,70}。然后,我们需要找到最大值和最小值。
我们可以通过比较数组中的每个元素来找到最大值和最小值。初始化一个变量maxValue和minValue为数组中的第一个元素arr[0]。然后,我们遍历数组的每个元素,如果当前元素比maxValue大,则更新maxValue为当前元素;如果当前元素比minValue小,则更新minValue为当前元素。这样,最终我们就能找到数组中的最大值maxValue和最小值minValue。
接下来,我们计算去掉最大值和最小值的数组的平均值。我们可以使用一个变量sum来保存去掉最大值和最小值后的所有元素的和。初始化变量sum为0。然后,我们遍历数组的每个元素,如果当前元素不是最大值和最小值,我们将其加到sum中。最终,sum就是去掉最大值和最小值后的数组元素的和。
最后,我们计算平均值。我们可以使用sum除以数组的长度减去2(因为去掉了最大值和最小值)。由于题目要求不考虑小数部分,我们可以将得到的结果用一个整数表示,即使用整数除法。因此,我们将sum除以数组的长度减去2,并将结果保存在一个整型变量average中。
以下是完整的Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int[] arr = {100, 50, 90, 60, 80, 70};
int maxValue = arr[0];
int minValue = arr[0];
int sum = 0;
// 找到最大值和最小值
for (int i = 0; i < arr.length; i++) {
if (arr[i] > maxValue) {
maxValue = arr[i];
}
if (arr[i] < minValue) {
minValue = arr[i];
}
}
// 计算去掉最大值和最小值后的数组元素的和
for (int i = 0; i < arr.length; i++) {
if (arr[i] != maxValue && arr[i] != minValue) {
sum += arr[i];
}
}
// 计算平均值
int average = sum / (arr.length - 2);
System.out.println("去掉最大值和最小值后的平均值为:" + average);
}
}
```
程序输出:
去掉最大值和最小值后的平均值为80
阅读全文