照洋 2023-01-04 23:11 采纳率: 100%
浏览 38
已结题

关于#c语言#的问题:我想请教深度搜索相关的问题代码实现的功能num是否可以由buf里面的数据构成,但是打印的结果却不是想要的输出,反复观察后还是没有发现问题的所在

大家好,我想请教深度搜索相关的问题
代码实现的功能num是否可以由buf里面的数据构成,使用深度搜索,但是打印的结果却不是想要的输出,反复观察后还是没有发现问题的所在

img

  • 写回答

1条回答 默认 最新

  • 会修bug的猫 2023-01-05 01:05
    关注

    数组名称传递时会退化成指针,通过 sizeof(arr)/sizeof(int) 并不能获取数组长度
    建议修改如下:

    #include<stdio.h>
    int a[10];
    bool flag[10];
    void dfs(int arr[],int lenth, int k, int cur,int n) {
        if (cur>=lenth) {
            if (!k) {
                for (int i = 0; i < n; ++i) {
                    printf("%d ", a[i]);
                }
                printf("yes\n");
            }
            else {
                for (int i = 0; i < n; ++i) {
                    printf("%d ", a[i]);
                }
                printf("no\n");
            }
            return;
        }
        if (!flag[cur]) {
            a[n] = cur;
            flag[cur] = true;
        }
        dfs(arr, lenth, k-arr[cur], cur + 1, n + 1);
        flag[cur] = false;
        dfs(arr, lenth, k, cur + 1, n);
    }
    
    int main() {
        int buf[4] = { 1,2,4,7 };
        dfs(buf,4, 13, 0,0);
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日
  • 创建了问题 1月4日

悬赏问题

  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 关于移动机器人坐标计算
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题