问题代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:夏焕哲
* 完成日期:2014 年 11 月 16 日
* 版 本 号:v1.0
*
* 问题描述:用函数递进求二进制;
* 输入描述: 输入一个整形;
* 程序输出: 输出其二进制形式。
*/ <pre name="code" class="cpp">#include <iostream>
using namespace std;
void dec2bin(int n);
int main()
{
int n;
cout<<"请输入一个整数:";
cin>>n;
cout<<n<<"对应的二进制形式为:";
dec2bin(n);
cout<<endl;
return 0;
}
void dec2bin(int n)
{
if(n==0)
return; //其实在此有个BUG,如果在main()中直接调用的是dec2bin(0),并不会输出其二进制形式0,请在评论中跟进如何处理
else
{
dec2bin(n/2);
cout<<n%2;
return;
}
}
运行结果:
学习心得:递进很简单。