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实际上是整数的一部分,也应该显示。