【问题描述】
输入一个以回车结束的字符串(少于80个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),输出该字符串并将其转换为十进制数后输出。
【输入形式】一个字符串,小于80个字符串
【输出形式】输出为两行
第一行 为整理后的新串
第二行 一个十进制数字
【样例输入】@@#!fg#
【样例输出】
f
15
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char s[80];
gets(s);
int len;
len=strlen(s);
int i=0;
int shu=0;
while(s[i])
{
if(s[i]>='0'&&s[i]<='9')
{
printf("%c",s[i]);
shu=shu*16+s[i]-'0';
}
else if(s[i]>='A'&&s[i]<='F')
{
printf("%c",s[i]);
shu=shu*16+s[i]-'A'+10;
}
else if(s[i]>='a'&&s[i]<='f')
{
printf("%c",s[i]);
shu=shu*16+s[i]-'a'+10;
}
i++;
}
printf("\n%d",shu);
return 0;
}