描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在 1<=n<=2^31-1
注意本题有多组输入
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
示例1
输入:
0xA 0xAA
输出:
10 170
解法一(利用ASCII码):
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int power(int t){
int sum=1;
while(t--){
sum=sum*16;
}
return sum;
}
int main(){
char s[1001];
int a[1001];
int ans,n,t;
while(cin>>s){
ans=0;
t=0;
n=strlen(s);
for(int i=n-1;i>1;i--){
if(s[i]>='0'&&s[i]<='9')
a[i]=s[i]-48;
else
a[i]=s[i]-55;