//7.16 输入16进制,输出10进制
// 我可真是个小机灵鬼- -
#include<stdio.h>
int main()
{
int x;
printf("输入16进制的数:\n");
scanf("%x", &x);
printf("%d", x);
}
#include<stdio.h>
int Trans(char s[])
{
int i, j, n;
for(i=0,n=0;s[i];i++)
{
if (s[i] >= 'A' && s[i] <= 'Z')
n = n * 16 + s[i] - 'A' + 10; //s[i]-'A'得个数,+10转化为十进制
if (s[i] >= 'a' && s[i] <= 'z')//16进制的大小写都可以表示,所有都要考虑
n = n * 16 + s[i] - 'a' + 10;
if (s[i] >= '0' && s[i] <= '9')//数字转十进制
n = n * 16 + s[i] - '0'; //将字符转化为数字
}
return n;
}
int main()
{
char s[128];//以字符形式存储
printf("请输入一个十六进制数:");
gets(s);
printf("Ox%s=%d", s, Trans(s));
}