Description
输入一个以回车符结束的字符串(少于80个字符),过滤去所有的非十进制字符后(不区分大小写),组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。
Input
多组测试数据,每组输入一个以回车结束的字符串(少于80个字符)。
Output
转换后的十进制数
Sample Input
ABXYZ12 EF8GH4I
Sample Output
43794 61316
代码实现
#include<iostream>
#include<cstdio>
using namespace std
;
int main(void)
{
char str
[100];
int sum
,i
;
while(gets(str
))
{
sum
=0;i
=0;
while(str
[i
])
{
if(str
[i
]>='a' && str
[i
]<='f')
str
[i
]-=32;
if(str
[i
]>='0' && str
[i
]<='9')
sum
=sum
*16+str
[i
]-'0';
if (str
[i
]>='A' && str
[i
]<='F')
sum
=sum
*16+str
[i
]-'A'+10;
i
++;
}
cout
<<sum
<<endl
;
}
return 0;
}