nbuzjj123 发表于 2020-3-3 21:20:15

c语言把数字转化为字符

求助这个第二问怎么实现啊

chxchxkkk 发表于 2020-3-3 21:32:18

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为10。

下列函数可以将整数转换为字符串:
----------------------------------------------------------
    函数名                  作用
----------------------------------------------------------
    itoa()                将整型值转换为字符串
    itoa()                将长整型值转换为字符串
    ultoa()               将无符号长整型值转换为字符串

major_lyu 发表于 2020-3-3 22:29:42

第二步:


while (n > 0)
{
    int d = n % 16;
    char ch = d > 9 ? (d-10 + 'a') : (d + '0');
    putchar(ch);
    n /= 16;
}

这样输出的是和实际的数字的16进制顺序相反的

major_lyu 发表于 2020-3-3 22:56:20

对第二步改进后的代码
#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]
查看完整版本: c语言把数字转化为字符