c语言把数字转化为字符
求助这个第二问怎么实现啊 itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为10。下列函数可以将整数转换为字符串:
----------------------------------------------------------
函数名 作用
----------------------------------------------------------
itoa() 将整型值转换为字符串
itoa() 将长整型值转换为字符串
ultoa() 将无符号长整型值转换为字符串 第二步:
while (n > 0)
{
int d = n % 16;
char ch = d > 9 ? (d-10 + 'a') : (d + '0');
putchar(ch);
n /= 16;
}
这样输出的是和实际的数字的16进制顺序相反的 对第二步改进后的代码
#include <stdio.h>
int main()
{
int n;
char rslt;
scanf("%d", &n);
printf("%x\n", n);
int i = 0;
while (n > 0)
{
int d = n % 16;
rslt = d > 9 ? (d - 10 + 'a') : (d + '0');
n /= 16;
}
while(i>0)
{
putchar(rslt[--i]);
}
}
页:
[1]