用c语言编写函数,将输入的十进制数转换成十六进制数并输出

如题所述

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    unsigned n,i,k;
    printf("Please enter a positive integer...\nn=");
    scanf("%d",&n);
    printf("%d(10) = 0x",n);
if(n){
for(i=0;(n&0xf0000000)==0;n<<=4,i++);
for(;i<8;i++){
k=n&0xf0000000;
(k>>=28)&=0x0f;
printf("%c",k<10 ? k+'0' : k+0x37);
n<<=4;
}
}
else printf("0");
    printf("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-24
简单作法:用printf()函数格式输出完成
#include <stdio.h>
void main()
{
int n;

scanf("%d", &n ); //输入10进制数

printf("%x", n ); //输出16进制格式

}
超出整数范围的,需要用字符串实现,代码较为复杂,有兴趣可搜一下大数运算的C程序代码本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网