c语言编程实现,将十六进制的数转化成十进制的,要求在主函数中输入十六进制数,输出转化后的十进制数
时间: 2024-05-14 10:13:46 浏览: 47
答案:
您好!感谢您提出问题。根据您的要求,我可以回答这个问题。
以下是一个示例代码,可以实现将十六进制数转换成十进制数的功能:
```
#include <stdio.h>
int main() {
char hex_num[10];
int dec_num = 0;
int i = 0, j = 0;
printf("请输入一个十六进制数:");
scanf("%s", hex_num);
while (hex_num[i] != '\0') {
if (hex_num[i] >= '0' && hex_num[i] <= '9') {
dec_num = dec_num * 16 + hex_num[i] - '0';
} else if (hex_num[i] >= 'a' && hex_num[i] <= 'f') {
dec_num = dec_num * 16 + hex_num[i] - 'a' + 10;
} else if (hex_num[i] >= 'A' && hex_num[i] <= 'F') {
dec_num = dec_num * 16 + hex_num[i] - 'A' + 10;
} else {
printf("输入不合法!\n");
return 0;
}
i++;
}
printf("转换后的十进制数为:%d\n", dec_num);
return 0;
}
```
需要注意的是,如果输入的十六进制数不合法,可以通过判断字符的范围来处理。如果输入的字符不是数字或字母,在这里我选择直接结束程序,当然也可以其他的处理方式。
希望能够帮助到您,如果还有问题可以随时问我哦!
阅读全文