69,512
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
编写一个函数,使之能完成以下功能: 利用递归方法找出一个数组中的最大值和最小值,要求递归调用函数的格式如下: MinMaxValue(arr,n,&max,&min)
,其中 arr
是给定的数组,n
是数组元素的个数,max、min
分别是最大值和最小值
根据提示,在右侧编辑器补充代码。
输入描述: 输入10
个数据。
输出描述: 输出10
个数中的最大值和最小值
平台会对你编写的代码进行测试:
测试输入: 180 208 103 278 299 37 220 6 301 270
预期输出: 301 6
#include <iostream>
using namespace std;
void MinMaxValue(int arr[], int n, int& max, int& min) {
if (n == 1) {
max = arr[0];
min = arr[0];
return;
}
int max1, min1;
MinMaxValue(arr, n - 1, max1, min1);
if (arr[n - 1] > max1) {
max = arr[n - 1];
}
else {
max = max1;
}
if (arr[n - 1] < min1) {
min = arr[n - 1];
}
else {
min = min1;
}
}
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
int max, min;
MinMaxValue(arr, 10, max, min);
cout << max << " " << min;
return 0;
}
例子输出上没什么问题,测评显示只通过了一个案例,求大佬帮忙看看哪里有问题QAQ
感谢各位的帮忙,我已经和老师反馈了情况,老师说测试用例有问题,我的代码本身没什么太大的问题,谢谢大家的帮助!Thanks♪(・ω・)ノ
要不在最后 输出 endl 试试 (cout << max << " " << min << endl;)
出错的数据被隐藏了,看不到 QAQ
试了几组数据,好像都正常;出错的数据是什么?