问题如题,请给一点指点,谢谢
可以先把十进制转为二进制,再从二进制转为十六进制
谢谢
scanf("%d",&a);
printf("%x",a);
用栈也可以.....
#include"stdio.h"main(){ char a[20]; int x,y,t,i=0; scanf("%d",&x); scanf("%d",&y);while(x){ t=x%y; if(t>=0&&t<=9)//0到9 { a[i++]=t+'0'; } else//10开始用字母表示 { a[i++]=t-10+'A'; } x/=y; }a[i]='\0';
while(i) printf("%c",a[--i]);}