用C语言编程写一个自定义函数,将输入的十六进制数转换成十进制数并输出。
时间: 2024-03-24 11:39:22 浏览: 73
十六进制数转换成十进制数的函数
好的,这是一个简单的将十六进制数转换为十进制数的自定义函数:
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
int hex_to_dec(char hex[]) {
int dec = 0, len = strlen(hex);
for (int i = 0; i < len; i++) {
int digit = 0;
if (hex[i] >= '0' && hex[i] <= '9') {
digit = hex[i] - '0';
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
digit = hex[i] - 'a' + 10;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
digit = hex[i] - 'A' + 10;
}
dec += digit * pow(16, len - i - 1);
}
return dec;
}
int main() {
char hex[100];
printf("请输入一个十六进制数:");
scanf("%s", hex);
printf("转换为十进制数为:%d\n", hex_to_dec(hex));
return 0;
}
```
这个函数将输入的十六进制数转换为十进制数并返回。它首先通过循环遍历十六进制数中的每个字符,并将其转换为相应的十进制数。然后,它将每个字符的十进制数乘以16的幂次方(从右到左),并将它们相加,以得到最终的十进制数。
阅读全文