C语言递归函数求二进制,十进制转二进制c语言递归

C语言用函数的递归调用将十进制数转化为二进制数

#includestdio.h

创新互联是一家专业提供漳县企业网站建设,专注与网站制作、成都做网站HTML5、小程序制作等业务。10年已为漳县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

#define n 20

void change2(int t)

{ //将十进制数转换到存放二进制的数组中

int i;

int b[n]={0};

for(i=0;i20;i++)

{

b[i]=t%2;

t=t/2;

}

for(i=n-1;i=0;i--)

{

printf("%d",b[i]);

}

printf("\n");

}

void main(){

int demo;

printf("请输入一个十进制数:");

scanf("%d",demo);

change2(demo);

}

怎用C语言求一个数的二进制

用栈实现,用520除2把所得余数进栈,把商作为新的数除2,再把余数进栈,取商为新的数,如此往复直到商为1为止,然后把栈中的数依次输出后的1、0组合即为所求数的二进制数。

具体的代码不便粘贴,有兴趣欢迎交流

C语言,编一程序用递归函数,把输入的一个十进制整数转换成二进制数输出

#includestdio.h

void f(int n)

{

if(n) f(n/2);

else return;

printf("%d",n%2);

}

int main()

{

int n;

while(1)

{

scanf("%d",n);

if(n0) break;

if(n==0) printf("0");

f(n);

printf("\n");

}

return 0;

}

c语言用递归法将十进制转换为二进制

这个是递归程序,程序的意思就是: 十进制转化为2进制,利用辗转除以2取余数的方式,这个网上有很多,其他比如十进制转十六进制也是这个方式,只不过辗转除以16,直到本身变为0,每次相除的余数最后组合成要转换的结果。PKU-一夫

C语言编程:设计一递归函数实现将任一正整数转换成二进制数。

#include

stdio.h

#include

string.h

void

dtob(char

*

pre,

int

l,

int

n)

{

if

(n

0)

//终止条件

{

pre[l++]

=

(n%2)

+

'0';

//每次取1个最低位

pre[l]

=

'\0';

dtob(pre,

l,

n/2);

//然后n=n/2,

字符位置l增1,迭代

}

}

int

main()

{

int

n;

char

b[33];

scanf("%d",

n);

dtob(b,

0,

n);

strrev(b);

//结果是倒着的,翻过来

printf("%s\n",

b);

return

0;

}

c语言:编写函数,采用递归方法将任一整数转换为二进制形式。

int Into2nd(int x,int r[],int n)//该函数返回值为二进制的位数

{if(x==0) {if(n==0) {r[0]=0; return 1;} else return n;}

r[n]=x%2;

return Into2nd(x/2,r,n+1);

}

使用方法:

n=Into2nd(x,r,0);

for (i=n-1;i=0;i--) printf("%d",r[i]);


分享文章:C语言递归函数求二进制,十进制转二进制c语言递归
转载来源:http://scyanting.com/article/heoggd.html