求助C程~~~高手帮帮忙啦~~~
6.hex()是一个递归函数,该函数的功能是通过递归调用把一个长整数转化成十六进制字符串并返回所得十六进制数的位数。main()输入长整数x,调用hex()对它进行转化(...
6.hex()是一个递归函数,该函数的功能是通过递归调用把一个长整数转化成十六进制字符串并返回所得十六进制数的位数。main()输入长整数x,调用hex()对它进行转化(转化结果存放在字符数组a中),最后输出结果。例如:输入13,返回n=1输出D;输入100,则返回n=2输出64;输入65535,则返回n=4输出FFFF。
# include <stdio.h>
void main()
{char a[9]; int n;
unsigned long int x;
scanf(“%lu”,&x);
n=hex(x,a);
;
puts(a);
}
int hex( )
{char t[]="0123456789ABCDEF";
int n;
if(x<16)
{a[0]=t[x];
return 1;
}
n=hex(x/16,a);
a[n]= ;
return ;
} 展开
# include <stdio.h>
void main()
{char a[9]; int n;
unsigned long int x;
scanf(“%lu”,&x);
n=hex(x,a);
;
puts(a);
}
int hex( )
{char t[]="0123456789ABCDEF";
int n;
if(x<16)
{a[0]=t[x];
return 1;
}
n=hex(x/16,a);
a[n]= ;
return ;
} 展开
1个回答
2011-05-21
展开全部
int hex(unsigned int x,char *a)
{char t[]="0123456789ABCDEF";
int n;
if(x<16)
{a[0]=t[x];
return 1;
}
n=hex(x/16,a);
a[n]=t[x%16] ;
return 1+n ;
}
{char t[]="0123456789ABCDEF";
int n;
if(x<16)
{a[0]=t[x];
return 1;
}
n=hex(x/16,a);
a[n]=t[x%16] ;
return 1+n ;
}
追问
void main()
{char a[9]; int n;
unsigned long int x;
scanf(“%lu”,&x);
n=hex(x,a);
;
puts(a);
这里还有一个空嗯。。。。谢谢啦
追答
printf("n=%d\n",n);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询