写一个函数,输入一个十六进制数,输出相应的十进制数

/*写一个函数,输入一个十六进制数,输出相应的十进制数*/ 

#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题

发布了87 篇原创文章 · 获赞 9 · 访问量 8572

猜你喜欢

转载自blog.csdn.net/qq_40834200/article/details/105358948