本题要求实现一个函数,将正整数n转换为二进制后输出。
输入样例:
10
输出样例:
1010
#include<stdio.h>
void dectobin(int n)//调用函数
{
if (n == 0)//n=0的话直接离开,不往下执行
return;
int a;//a记录每次n取余的余数
a = n % 2;//取余
dectobin(n / 2);//开始调用自己(开始“递”)
printf("%d", a);//“归”输出 从高位数开始输出
}
int main()
{
int n;
scanf("%d", &n);
if (n > 0)//大于0时直接调用
dectobin(n);
else//等于0时直接输出0....
printf("0");
return 0;
}
如果题目没说正整数的话注意对负数特殊处理啊。。。不然就会像下面那样