描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入描述:
输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。
输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
#include <stdio.h>
int main()
{
char buf[1024];
int count,temp;
while(scanf("%s",&buf)!=EOF)
{
count = 0;
temp = 0;
for(int i = strlen(buf)-1;i>1;i--)
{
if(i == strlen(buf)-1)
temp = 1;
else
temp = pow(16,(strlen(buf)-i-1));
if(buf[i]>='0'&&buf[i]<='9')
count = count + temp * (buf[i]-'0');
else if(buf[i]>='A'&&buf[i]<='F')
count = count + temp*(buf[i]-'A'+10);
}
printf("%d\n",count);
}
}