编写程序:请写一份递归函数 把输入的一个整数转换成二进制数输出

编写程序:请写一份递归函数 把输入的一个整数转换成二进制数输出
递归函数要怎么样书写才好呢?

//递归将十进制转化为二进制
#include <stdio.h>
void fun(int n);
int main()
{
int num;
printf("Please INPUT data:\n");
while(scanf("%d",&num)==1) //是程序能够循环进行
{
printf("Here are the results:\n");
fun(num);
printf("\n\nPlease INPUT data:\n");
}
return 0;
}

void fun(int n)
{
int r;
r=n%2;//如果是n进制则可以将2改为n
if(n >= 2)
fun(n/2);//如果是n进制则可以将2改为n
putchar('0'+r);//以字符的形式输出
}