申请一个10个单元的整型数组,输入10个整数,去掉一个最大值和一个最小值后,剩下的8个数求和 输入格式: 输入10个整数,空格分隔 输出格式: 去掉最大值和最小值后,求剩下8个数的和
时间: 2024-05-09 17:18:13 浏览: 27
好的,这是一个简单的数组操作题。这里给出 C++ 的代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int nums[10];
for (int i = 0; i < 10; i++) {
cin >> nums[i];
}
int max_val = INT_MIN, min_val = INT_MAX;
for (int i = 0; i < 10; i++) {
if (nums[i] > max_val) {
max_val = nums[i];
}
if (nums[i] < min_val) {
min_val = nums[i];
}
}
int sum = 0;
for (int i = 0; i < 10; i++) {
if (nums[i] != max_val && nums[i] != min_val) {
sum += nums[i];
}
}
cout << sum << endl;
return 0;
}
```
对于您的第一问,我已经给出了代码实现,请问还有什么问题需要我回答呢?
相关问题
用C语言写,申请一个十个单元的整型数组,输入10个整数,去掉一个最大值和最小值后,剩下的8个数求和
好的,我可以帮你解答这个问题。下面是C语言代码实现:
```c
#include <stdio.h>
int main() {
int array[10];
int i, j, sum = 0, max = -2147483647, min = 2147483647;
printf("请依次输入十个整数:\n");
for (i = 0; i < 10; ++i) {
scanf("%d", &array[i]);
if (array[i] > max) { // 最大值
max = array[i];
}
if (array[i] < min) { // 最小值
min = array[i];
}
}
// 去掉最大值和最小值求和
for (j = 0; j < 10; ++j) {
if (array[j] != max && array[j] != min) {
sum += array[j];
}
}
printf("去掉一个最大值和最小值后剩下的8个数求和为:%d\n", sum);
return 0;
}
```
首先,定义一个包含十个单元的整型数组 `array`。然后,使用循环语句输入十个整数,并且同时找到数组中的最大值和最小值。
接下来,在使用另一个循环语句遍历数组,将不是最大值和最小值的数字相加,得到剩下的八个数的和。
最后,输出结果。
java一个程序中求数组最大值最小值平均值整数和
在Java中,求数组的最大值、最小值、平均值以及整数和通常涉及以下几个步骤:
1. **找到最大值**:
```java
int[] array = {10, 20, 30, 40, 50};
if (array.length > 0) {
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
System.out.println("最大值: " + max);
}
```
2. **找到最小值**:
类似地,你可以遍历数组寻找最小值,只需将大于当前元素的部分改为当前元素即可。
3. **计算平均值**:
```java
double sum = 0;
for (int num : array) {
sum += num;
}
double average = sum / array.length;
System.out.println("平均值: " + average);
```
4. **计算整数和**:
这是最直接的,就是数组所有元素相加:
```java
int integerSum = 0;
for (int i : array) {
integerSum += i;
}
System.out.println("整数和: " + integerSum);
```