Problem M: 递归函数–进制转换(十进制转二进制)
Time Limit: 1 Sec
Memory Limit: 128 MB
Submit: 521
Solved: 232
[
Submit][
Status][
Web Board]
Description
输入一个非负整数(十进制),调用递归函数输出此整数对应的二进制数。
函数声明如下:
void conversion(int n); //将n转换为二进制输出的递归函数声明
在以下程序的基础上,添加conversion函数的定义,使程序能够正确执行。
提交时,只需要提交conversion函数的定义代码即可。
#include <iostream>
using namespace std;
void conversion(int n); //将n转换为二进制输出的递归函数声明
int main()
{
int a;
cin>>a;
conversion(a) ; //将n转换为二进制输出
return 0;
}
Input
正整数
Output
对应的二进制数
Sample Input
6
Sample Output
110
HINT
提交时,只需要提交conversion函数的定义代码即可。
注意:该函数是不带无返回值的函数, 所以在函数体内要进行相应的输出
#include <iostream>
using namespace std;
void conversion(int n); //将n转换为二进制输出的递归函数声明
int main()
{
int a;
cin>>a;
conversion(a); //将n转换为二进制输出
return 0;
}
void conversion(int n)
{
int i=1,a[99];
if(n==0)cout<<0<<endl;
else
{
while(n!=0)
{
a[i++]=n%2;
n/=2;
}
n=i-1;
for(i=n;i>=1;i--){cout<<a[i];}
cout<<endl;}
}