用c语言写一个函数,输入一个十六进制数,包含大小写字母,输出相应的十进制数。 输入样式:0x2a 输出样式:42
时间: 2023-11-20 18:08:30 浏览: 77
十六进制文本 与 十六进制数据 相互转换 童叟无欺 闭着眼镜移植
```c
#include <stdio.h>
#include <ctype.h>
int hexToDec(char hex[]) {
int i = 0, dec = 0;
while (hex[i] != '\0') {
if (isalpha(hex[i])) {
if (isupper(hex[i])) {
dec = dec * 16 + hex[i] - 'A' + 10;
} else {
dec = dec * 16 + hex[i] - 'a' + 10;
}
} else {
dec = dec * 16 + hex[i] - '0';
}
i++;
}
return dec;
}
int main() {
char hex[100];
printf("请输入一个十六进制数:");
scanf("%s", hex);
int dec = hexToDec(hex);
printf("十六进制数 %s 对应的十进制数为:%d\n", hex, dec);
return 0;
}
```
阅读全文