递归函数--进制转换(十进制转二进制)
时间: 1ms 内存:128M
描述:
输入一个非负整数(十进制),调用递归函数输出此整数对应的二进制数。
函数声明如下:
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;
}
输入:
正整数
输出:
对应的二进制数
示例输入:
6
示例输出:
110
提示:
参考答案(内存最优[920]):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c=0,i=1;
scanf("%d",&a);
while(a)
{
b=a%2;
c+=b*i;
a/=2;
i*=10;
}
printf("%d",c);
return 0;
}
参考答案(时间最优[0]):
#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)//将n转换为二进制输出的递归函数定义
{
if(n==0||n==1) //递归终止条件
cout<<n;
else
{
conversion(n/2);
cout<<n%2;
}
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。