题目描述
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1
输入
0xA
输出
10
AC code:
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
char s[1000];
int i,len,cnt,ans;
while(scanf("%s",&s)!=EOF)
{
ans=cnt=0;
len=strlen(s);
for(i=len-1;i>=2;i--)
{
if(s[i]>='A'&&s[i]<='F')
{
ans+=(s[i]-'A'+10)*((int)pow(16,cnt));
}
else if(s[i]>='a'&&s[i]<='f')
{
ans+=(s[i]-'a'+10)*((int)pow(16,cnt));
}
else
{
ans+=(s[i]-'0')*((int)pow(16,cnt));
}
cnt++;
}
printf("%d\n",ans);
}
return 0;
}