Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 递归函数以相反的方式输出值_C++ - Fatal编程技术网

C++ 递归函数以相反的方式输出值

C++ 递归函数以相反的方式输出值,c++,C++,我正在为一个家庭作业项目编写一个简单的十进制到二进制转换器,遇到了一个问题 这个赋值特别要求使用递归函数,我把数学和所有东西都弄对了——只是函数以相反的方式输出所有东西: #include <iostream> using namespace std; void decToBinary(int, int); int main() { int asd = 0; cout << "Enter a non-negative intger value:

我正在为一个家庭作业项目编写一个简单的十进制到二进制转换器,遇到了一个问题

这个赋值特别要求使用递归函数,我把数学和所有东西都弄对了——只是函数以相反的方式输出所有东西:

#include <iostream>

using namespace std;

void decToBinary(int, int);

int main() {
    int asd = 0;

    cout << "Enter a non-negative intger value:  ";
    cin >> asd;

    cout << "Decimal " << asd << " = ";

    decToBinary(asd, 0);

    system("pause");
}

void decToBinary(int val, int remainder) {
    if (val == 0) {
        cout << remainder << " Binary" << endl;
    } else {
        cout << remainder;
        decToBinary(val / 2, val % 2);
    }
}
#包括
使用名称空间std;
12月1日无效(整数,整数);
int main(){
int-asd=0;
cout>asd;

你可以这样做:

void decToBinary(int val, int remainder)
{
    remainder = val % 2;
    val /= 2;
    if (val || remainder)
    {
        decToBinary(val, val);
        cout << remainder;
    }
}
void decToBinary(int val,int余数)
{
余数=val%2;
val/=2;
if(val | |余数)
{
十二月一日(val,val);

听起来你可能需要学习如何使用调试器来逐步调试代码。有了一个好的调试器,你可以逐行执行你的程序,看看它偏离了你的预期。如果你要做任何编程,这是一个必不可少的工具。进一步阅读:余数是最后一位数字。你可以打印余数,t当你递归调用函数时,它会在重复之前打印最后一个数字。它输出反向的所有内容,因为这正是你要它做的。考虑递归调用之前你做了什么,如果你在之后调用它,会发生什么?语言能保证PARAMEVE的顺序吗?“十二进制(Val/ 2,Val% 2);尝试测试用例:asd=0x222;我认为对于不同的整数大小(具有相同的值)、int8\u t、int16\u t、int32\u t、int64\u t(以及这些相同大小的uintxx\u t)显示相同的结果是不合适的。0实际上是整数的一部分,也应该显示。