最大值和最小值c++
时间: 2023-12-11 22:03:44 浏览: 38
以下是C++中求最大值和最小值的例子:
```c++
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[100005],minn=100000,maxn=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for i=1;i<=n;i++){
if(maxn<a[i]){
maxn=a[i];
}
if(minn>a[i]){
minn=a[i];
}
}
cout<<"Max value: "<<maxn<<endl;
cout<<"Min value: "<<minn<<endl;
}
```
相关问题
分割数组最大值的最小值 c++
下面是一个用C++实现的分割数组最大值的最小值的示例代码:
```cpp#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool canSplit(vector<int>& nums, int m, int maxVal) {
int count =1;
int sum =0;
for (int num : nums) {
sum += num;
if (sum > maxVal) {
count++;
sum = num;
}
if (count > m) {
return false;
}
}
return true;
}
int splitArray(vector<int>& nums, int m) {
int left = *max_element(nums.begin(), nums.end());
int right = accumulate(nums.begin(), nums.end(),0);
while (left <= right) {
int mid = left + (right - left) /2;
if (canSplit(nums, m, mid)) {
right = mid -1;
} else {
left = mid +1;
}
}
return left;
}
int main() {
vector<int> nums = {7,2,5,10,8};
int m =2;
int result = splitArray(nums, m);
cout << result << endl; // 输出:18 return0;
}
```
在这个示例中,我们定义了一个辅助函数`canSplit`,用于判断在给定的最大值下,是否可以将数组分割成m个子数组。然后,使用二分法来查找分割数组最大值的最小值。最后,通过调用`splitArray`函数,传入一个数组和目标分割数m,即可得到分割数组最大值的最小值。
注意,为了使用`max_element`和`accumulate`函数,需要包含头文件`<algorithm>`和`<numeric>`。另外,编译此代码需要使用C++11或更高版本的编译器。
int最大值和最小值
以下是两种获取int类型最大值和最小值的方法:
1.使用numeric_limits库函数获取int类型的最大值和最小值
```c++
#include <iostream>
#include <limits>
using namespace std;
int main() {
cout << "int数据类型最大值:" << numeric_limits<int>::max() << endl;
cout << "int数据类型最小值:" << numeric_limits<int>::min() << endl;
return 0;
}
```
输出:
```
int数据类型最大值:2147483647
int数据类型最小值:-2147483648
```
2.根据int类型的二进制表示获取最大值和最小值
```c++
#include <iostream>
using namespace std;
int main() {
int max_int = ~(1 << 31); // 最大值
int min_int = 1 << 31; // 最小值
cout << "int数据类型最大值:" << max_int << endl;
cout << "int数据类型最小值:" << min_int << endl; return 0;
}
```
输出:
```
int数据类型最大值:2147483647
int数据类型最小值:-2147483648
```