满意答案
q5249649
2013.04.01
采纳率:54% 等级:12
已帮助:8204人
程序代码:#include
#include
#include /*求字符串长度函数*/
int strlengh(char *s)
{
int i;
for(i=0;s[i]!='\0';i++);
return i;
}/*16进制转10进制函数*/
double tran(char *s)
{
int len=strlengh(s);/*求输入的字符串的长度*/
int ss[100] ;/*用于存放对字符的转换如f:15*/
int i;
double n=0.0;
/*对字符进行处理,将其每一位转换为整数,之后运算进行处理*/
for(i=0;i
{
if(s[i]=='F'||s[i]=='f')ss[i]=15;
else if(s[i]=='E'||s[i]=='e')ss[i]=14;
else if(s[i]=='D'||s[i]=='d')ss[i]=13;
else if(s[i]=='C'||s[i]=='c')ss[i]=12;
else if(s[i]=='B'||s[i]=='b')ss[i]=11;
else if(s[i]=='A'||s[i]=='a')ss[i]=10;
else ss[i]=(int)s[i];
}
/*对转换得到的整数进行转换处理*/
for(i=0;i
{
n+=ss[i]*pow(16,len-1-i);
}
return n;/*结果返回*/
}void main()
{
/*接收16进制数*/
char Hex[100];
printf("Please input Hex:\n");
gets(Hex);
/*转换*/
int Dec=(int)tran(Hex);
printf("Output Result:%d\n",Dec);}执行结果:
24分享举报