现有一个int型 维数组int array ]=(1,4,2,3,0,5,7);编写 个程序输出其中的最大值与最小值的和。要求不使用for-each循环也不使用Arrays.stream(array)
时间: 2024-12-01 09:29:25 浏览: 0
有一个int数组{1,3,5,-2,4,6},要求获取:最大值、最小值、元素和、平均值
5星 · 资源好评率100%
要计算给定数组`array`(假设为`(1, 4, 2, 3, 0, 5, 7)`)的最大值和最小值,可以使用C++的最低和最高下标来遍历数组,这样就不需要for-each循环或Stream API。以下是实现这个功能的C++代码:
```cpp
#include <iostream>
// 声明变量存储最大值和最小值
int max_value = array[0];
int min_value = array[0];
// 使用两个指针,一个指向开始,一个指向结束
int start = 0;
int end = 6; // 注意减一,因为数组索引从0开始
// 搜索最小值
while (start < end) {
if (array[start] < array[end]) {
min_value = array[start]; // 更新最小值
start++; // 移动到下一个较小元素
} else {
end--; // 移动到下一个较大元素
}
}
// 搜索最大值
start = 0;
end = 6;
while (start < end) {
if (array[start] > array[end]) {
max_value = array[start]; // 更新最大值
start++; // 移动到下一个较大元素
} else {
end--; // 移动到下一个较小元素
}
}
// 计算并输出最大值和最小值之和
int sum_max_min = max_value + min_value;
std::cout << "The sum of the maximum and minimum values is: " << sum_max_min << std::endl;
// 运行结果示例(假设数组为(1, 4, 2, 3, 0, 5, 7))
// The sum of the maximum and minimum values is: 8
```
注意,这段代码适用于静态大小的数组。如果数组动态分配,可能需要额外的内存管理步骤。不过在这个特定情况下,上述代码已满足要求。
阅读全文