#include <stdio.h>
#include <string.h>
#include <math.h>
void hex_dec(char hex[])
{
int digit;
int len=strlen(hex);int dec=0;
for(int i=0;i<len;i++)
{
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=dec+digit*pow(16,len-i-1);
}
printf("%d",dec);
}
int main()
{
char hex[10];
scanf("%s",hex);
hex_dec(hex);
}
编写一个函数,输入一个16进制数,输出相应的十进制数。
最新推荐文章于 2024-11-23 20:25:27 发布
该程序段定义了一个函数`hex_dec`,用于将输入的十六进制字符串转换成十进制整数。在`main`函数中,用户输入一个十六进制字符串,然后调用`hex_dec`进行转换并打印结果。转换过程中,程序检查每个字符是否为有效的十六进制数字,并相应地计算其值。
9353

被折叠的 条评论
为什么被折叠?



