输入一组乱序数字 输出最大的数字和其所在的位置用c++
时间: 2024-10-12 09:15:24 浏览: 13
C++输入数字 逆向输出
在C++中,你可以通过遍历数组并跟踪当前最大值及其索引来解决这个问题。这里是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
pair<int, int> findMaxAndIndex(int arr[], int n) {
if (n == 0) {
throw "Array is empty!";
}
pair<int, int> maxPair = {arr[0], 0}; // 初始化最大值为第一个元素,位置为0
for (int i = 1; i < n; i++) {
if (arr[i] > maxPair.first) {
maxPair.first = arr[i]; // 更新最大值
maxPair.second = i; // 更新最大值的位置
}
}
return maxPair;
}
int main() {
int arr[] = {5, 3, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
try {
pair<int, int> result = findMaxAndIndex(arr, n);
cout << "The largest number is: " << result.first << ", at index: " << result.second << endl;
} catch (const char* msg) {
cerr << msg << endl;
}
return 0;
}
```
这个程序首先检查数组是否为空,然后遍历数组,每次遇到比当前最大值更大的数就更新最大值和它的索引。最后,它返回最大值和对应的索引。
阅读全文