各进制转换关系
#include <iostream>
#include <string.h>
using namespace std;
/*
void change(char ch)
{
if(ch>='1' && ch<'10')
{
}
}
int main()
{
char str[] = "12AEE";
for(int i=0;i<strlen(str);i++)
{
char ch = str[i];
change(ch);
}
return 0;
}
void fun1(int n)
{
switch(n)
{
case 10:
cout<<'A';break;
case 11:
cout<<'B';break;
case 12:
cout<<'C';break;
case 13:
cout<<'D';break;
case 14:
cout<<'E';break;
case 15:
cout<<'F';break;
default:cout<<n;
}
}
void fun(int n)
{
if (n<16)
fun1(n);
else
{
fun(n/16);
fun1(n%16);
}
}
int main()
{
fun(10);
cout<<endl;
return 0;
}
*/
#include <stdio.h>
int main()
{
char s[10];
int i,n=0;
printf("输入十六进制数:\n");
scanf("%s",s);
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
n=n*16+s[i]-'0';
if(s[i]>='a'&&s[i]<='f')
n=n*16+s[i]-'a'+10;
if(s[i]>='A'&&s[i]<='F')
n=n*16+s[i]-'A'+10;
}
printf("%d\n",n);
}