C语言,写一个函数,输入一个十六进制数,输出相应的十进制数
时间: 2023-11-20 11:57:11 浏览: 39
好的,这个问题属于计算机编程领域。以下是对应的C语言函数:
```c
#include<stdio.h>
#include<math.h>
int hexToDec(char hex[]){
int decimal = 0, i = 0, val, len;
len = strlen(hex);
len--;
for(i=0; hex[i]!='\0'; i++){
if(hex[i]>='0'&& hex[i]<='9'){
val = hex[i] - 48;
}
else if(hex[i]>='a'&& hex[i]<='f'){
val = hex[i] - 97 + 10;
}
else if(hex[i]>='A'&& hex[i]<='F'){
val = hex[i] - 65 + 10;
}
decimal += val * pow(16,len);
len--;
}
return decimal;
}
int main(){
char hex[100];
int decimal;
printf("Enter hexadecimal number: ");
scanf("%s", hex);
decimal = hexToDec(hex);
printf("Hexadecimal number %s in decimal is %d\n", hex, decimal);
return 0;
}
```
通过此代码,您可以输入一个十六进制数,输出相应的十进制数。希望能对您有所帮助。