玛冉丽 2020-07-30 02:01 采纳率: 66.7%
浏览 99
已采纳

函数递归求一个数的二进制数报错

#include
#include
using namespace std;
void erjinzhi(int n)
{
if ((n / 2) != 0) {
erjinzhi(n / 2);
cout << n % 2;
}
else
cout << n;

}
int main()
{
cout<<erjinzhi(123);
return 0;
}
求问各位大神,为什么我这段程序不能用,报错原因是“没有与这些操作数匹配的<<运算符”,我应该怎么修改呢?我试图把上面void类型换成int,但是输出结果最后会多出一个0,所以希望有其他方法,跪求解答!!!

  • 写回答

4条回答 默认 最新

  • CrazyIdeas 2020-07-30 09:04
    关注

    应该 是 头文件的问题,你的erjinzhi 函数 也没有 返回值

    #include &lt; cstdlib &gt;
    #include &lt; iostream &gt;
    using namespace std;
    void erjinzhi(int n)
    {
    if ((n / 2) != 0) {
    erjinzhi(n / 2);
    cout << (n % 2);
    }
    else
    cout << n;
    
    }
    int main()
    {
    erjinzhi(123);
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)