寻求大佬帮忙,在头歌上怎么也测评不过去

zhiuxi 2024-02-06 00:12:16

本关任务

编写一个函数,使之能完成以下功能: 利用递归方法找出一个数组中的最大值和最小值,要求递归调用函数的格式如下: 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

...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiuxi 02-07
  • 打赏
  • 举报
回复

感谢各位的帮忙,我已经和老师反馈了情况,老师说测试用例有问题,我的代码本身没什么太大的问题,谢谢大家的帮助!Thanks♪(・ω・)ノ

  • 打赏
  • 举报
回复

要不在最后 输出 endl 试试 (cout << max << " " << min << endl;)

zhiuxi 02-06
  • 举报
回复
@weixin_54230918 感谢帮忙,可惜加了endl没用
zhiuxi 02-06
  • 打赏
  • 举报
回复

出错的数据被隐藏了,看不到 QAQ

img

img

  • 举报
回复
@zhiuxi 你改下代码,把输入的全部输出,你就看到测试数据拉
zhiuxi 02-06
  • 举报
回复
@weixin_54230918 预期输出也是被隐藏的,只能看到第一个用例的值
zara 02-06
  • 打赏
  • 举报
回复

试了几组数据,好像都正常;出错的数据是什么?

69,503

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧