一、递归实现
#include<stdio.h>
void binary(int num);
int main(){
int num;
printf("输入需要转化成二进制的数字:");
scanf_s("%d", &num);
binary(num);
return 0;
}
void binary(int num){
int r;
r = num % 2;
if (num >= 2)
binary(num / 2);
putchar(r+'0');
}
二、容器list实现(使用list可以直接利用push_font()在表首添加数值)
#include<iostream>
#include<list>
using namespace std;
int main(){
int num;
list<int> binary;
list<int>::iterator it; //创建迭代器,用迭代器访问链表的数值
printf("输入需要转化成二进制的数字:");
scanf_s("%d", &num);
while (num >= 2){
binary.push_front(num % 2);
num /= 2;
}
binary.push_front(num % 2);
for (it = binary.begin(); it != binary.end(); ++it)
cout << *it; //迭代器规定必须加“*”才能表示对应类型的数值
cout << endl;
return 0;
}