写一个函数,输入一个十六进制数,输出相应的十进制,用C语言写
时间: 2023-06-07 07:09:00 浏览: 114
好的,以下是用C语言编写的函数,可以实现将十六进制数转换为十进制数:
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
int hexToDecimal(char hex[]);
int hexToDecimal(char hex[])
{
int decimal = 0, length = strlen(hex);
int base = 1;
for(int i = length - 1; i >= 0; i--)
{
if(hex[i] >= '0' && hex[i] <= '9')
{
decimal += (hex[i] - 48) * base;
base *= 16;
}
else if(hex[i] >= 'a' && hex[i] <= 'f')
{
decimal += (hex[i] - 97 + 10) * base;
base *= 16;
}
else if(hex[i] >= 'A' && hex[i] <= 'F')
{
decimal += (hex[i] - 65 + 10) * base;
base *= 16;
}
}
return decimal;
}
int main(void)
{
char hex[20];
printf("请输入一个十六进制数: ");
scanf("%s", hex);
int decimal = hexToDecimal(hex);
printf("该十六进制数对应的十进制数为: %d", decimal);
return 0;
}
```
你可以将该代码保存为一个单独的文件,并在命令行编译和执行,即可实现将一个十六进制数转换为十进制数的功能。
阅读全文