c语言递归函数数制转换,c语言递归函数的概念及用法

如何用C语言编写递归函数,实现任意十进制整数到十六进制整数的转换,并打印出来?

void change(){

成都创新互联专业为企业提供新田网站建设、新田做网站、新田网站设计、新田网站制作等企业网站建设、网页设计与制作、新田企业网站模板建站服务,十年新田做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

int n;//n就是你要转换的十进制数

char ch[10]={'\0'};

while(i10){

if(n%16==0)

ch[i]=0;

else

ch[i]=n%16;

i++;

}

int len=char.length();

for(int i=len-1;i=0;i--)

sprintf("%c",ch[i]);

}

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

#includestdio.h

#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语言 递归算法 十进制转化十六进制

递归实现 符合你的要求

/////////////////////////////////////////

//        C-Free 4.1

//        MinGW  3.4.5

//        veket的小号

/////////////////////////////////////////

#include stdio.h

void fun(int n)

{

if(n10)

printf("%c", n+'0');

if(n=10  n=15)

printf("%c", n-10+'A');

}

void RecurrenceDecToHex(int x)

{

if(x=16)

{

RecurrenceDecToHex(x/16);

}

fun(x%16);

}

int main()

{

RecurrenceDecToHex(45036);

return 0;

}

c语言 数制转换(递归)

#include "stdafx.h"

#include stdlib.h

#include stdio.h

#include string.h

int converN(int p,int m, int n);

int conver10(char *pold, int m);

int power(int m, int pow);

int main( )

{

int old,fresh,oldv=0;

char cold[100];

printf("输入的数制不能超过16,按q退出,按回车继续。");

while(getchar() != 'q')

{

printf("请输入原数制:");

scanf("%d",old);

printf("请输入新数制:");

scanf("%d",fresh);

printf("请输入要转换数字:");

scanf("%s",cold);

printf("转换后数字为:");

converN(conver10(cold, old),old,fresh);

putchar('\n');

printf("输入的数制不能超过16,按q退出,按回车继续。");

while(getchar() != '\n')

continue;

}

return 1;

}

int power(int m, int pow)

{

if(pow == 0)

return 1;

if(pow 0)

return m*power(m,pow-1);

}

int conver10(char *pold, int m)

{

int len = strlen(pold);

int res=0;

for(int i=0; ilen; i++)

{

switch(tolower(pold[i]))

{

case 'a':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

case 'b':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

case 'c':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

case 'd':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

case 'e':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

case 'f':

res += (pold[i]-'a'+10) * power(m,len-i-1);

break;

default:

res += (pold[i]-'0') * power(m,len-i-1);

}

}

return res;

}

int converN(int p,int m, int n)

{

int i=0;

if(p/n != 0)

converN(p/n,m,n);

if((i=p%n) 10)

putchar('0' + i);

else

putchar('a' + i - 10);

return 1;

}

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语言递归函数数制转换,c语言递归函数的概念及用法
文章转载:http://cdiso.cn/article/dsgessg.html

其他资讯