/*写一个函数,输入一个十六进制数,输出相应的十进制数*/
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
int main()
{
char c[10];
int i,j,sum = 0;
printf("请输入一个十六进制数:");
scanf("%s",c);
for(i = strlen(c) - 1,j = 0;i >= 0;i--,j++)
{
if(isdigit(c[i]))
sum += ((int)c[i] - 48)*pow(16,j);
if(isalpha(c[i]))
sum += ((int)c[i] - 55)*pow(16,j);
if(c[i] >= 'G' && c[i] <= 'W')
{
printf("输入的数字不合法!");
return 0;
}
}
printf("得到一个十进制数:%d\n",sum);
}
谭浩强C程序设计(第四版)p219第16题