蓝桥杯基础练习十六进制转十进制

来源:互联网 发布:windows update失败 pe 编辑:程序博客网 时间:2024/06/06 03:47

问题描述

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入

FFFF

样例输出

65535

1.#include<stdio.h>2.#include<string.h> 3.#include<math.h>4.int main()5.{ 6. double sum=0,x;7. char a[8];8. int len,i=0;9. gets(a);10. len=strlen(a);11. while(len)12. {13.  if(a[len-1]>='A'&&a[len-1]<='F')14.    x=(a[len-1]-'7')*pow(16,i++);15.  else16.      x=(a[len-1]-'0')*pow(16,i++);17.  sum+=x;18.  len--;19. }20. printf("%.0lf",sum);21.22. return 0;23. 24. }


0 0