写一个函数,输入一个十六进制数,输出相应的十进制数

邮差的信 提交于 2020-01-28 12:41:14

本人菜鸟,还请各位大佬多多指教!!!
#include<stdio.h>
#include<string.h>
#include<math.h>
void zhuanhuan(char a[]);
int main()
{
char a[20];
gets(a);
zhuanhuan(a);
return 0;
}
void zhuanhuan(char a[])
{
int d;
d=strlen(a);
int i,sum=0,c;
for(i=d-1,c=1;i>=0;i–,c=c+2)
{
if(a[i]>=‘A’&&a[i]<=‘F’)
{
a[i]=(a[i]-‘A’)+10+‘0’;
}
if(a[i]>=‘a’&&a[i]<=‘f’)
{
a[i]=a[i]-32;
a[i]=(a[i]-‘A’)+10+‘0’;
}
sum=sum+(a[i]-‘0’)*pow(16,i-d+c);
}
printf("%d",sum);
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!