使用c语言写一个十六进制转十进制的程序
时间: 2023-10-19 17:13:26 浏览: 97
好的,我可以回答这个问题。以下是使用C语言编写一个将十六进制数转换为十进制数的程序的示例代码:
```
#include<stdio.h>
#include<math.h>
int main()
{
char hex[20];
long int decimal = 0; // 十进制数
int i, length;
printf("请输入一个十六进制数:\n");
scanf("%s", hex);
// 计算十六进制数的长度
for(length=0; hex[length]!='\0'; length++);
// 将十六进制数转换为十进制数
for(i=0; hex[i]!='\0'; i++, length--)
{
if(hex[i]>='0' && hex[i]<='9')
{
decimal += (hex[i]-'0') * pow(16, length-1);
}
if(hex[i]>='A' && hex[i]<='F')
{
decimal += (hex[i]-55) * pow(16, length-1);
}
if(hex[i]>='a' && hex[i]<='f')
{
decimal += (hex[i]-87) * pow(16, length-1);
}
}
printf("十六进制数 %s 转换为十进制数为 %ld.\n", hex, decimal);
return 0;
}
```
希望这可以帮助您解决问题。
阅读全文