在C语言中如何将10进制转换成16进制?

如题所述

根据10进制转换为16进制的规则,编写C语言程序将10进制数转换为16进制数。


具体实现方法可参考如下程序:

#include<stdio.h>
void main()
{
    int i, x; // x表示欲转换的10进制数
    int data[10], index=0;  // data数组存放转换后的16进制数,index表示下标
    scanf("%d", &x);  // 接受欲转换的10进制数
    for(i=0; i<10; i++)  // 对数组data进行初始赋值操作
        data[i] = 0;
    printf("%d对应的16进制为:", x);
    // 反复相除取余,并将余数存放在data数组中
    while(x>0)
    {
     data[index] = x%16;
     x = x/16;
     index++;
    }
    // 逆序输出data数组中的元素,即为10进制数对应的16进制数
    for(i=index-1; i>=0; i--)
     printf("%d", data[i]);
    printf("\n");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03
将一个10进制数除以16.连续除.每次的余数即为这个数的16进制数~例如:60,60/16商3余12,再用12/16商0余12.所以60用16进制表示就是:3C本回答被提问者采纳
相似回答