当前位置:   article > 正文

蓝桥杯 基础训练 十六进制转换成十进制_蓝桥杯十六进制转成十进制

蓝桥杯十六进制转成十进制

资源限制

内存限制:512.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

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

样例输入

FFFF

样例输出

65535

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. int main()
  6. {
  7. //char hex[10000000],dec[20000000];
  8. char *hex,*dec;
  9. int i;
  10. unsigned long int sum=0,n;
  11. hex=(char *)malloc(sizeof(char));
  12. scanf("%s",hex);
  13. for(i=0;i<strlen(hex);i++)
  14. {
  15. switch(hex[i])
  16. {
  17. case '0':n=0*pow(16,strlen(hex)-i-1);break;
  18. case '1':n=1*pow(16,strlen(hex)-i-1);break;
  19. case '2':n=2*pow(16,strlen(hex)-i-1);break;
  20. case '3':n=3*pow(16,strlen(hex)-i-1);break;
  21. case '4':n=4*pow(16,strlen(hex)-i-1);break;
  22. case '5':n=5*pow(16,strlen(hex)-i-1);break;
  23. case '6':n=6*pow(16,strlen(hex)-i-1);break;
  24. case '7':n=7*pow(16,strlen(hex)-i-1);break;
  25. case '8':n=8*pow(16,strlen(hex)-i-1);break;
  26. case '9':n=9*pow(16,strlen(hex)-i-1);break;
  27. case 'A':n=10*pow(16,strlen(hex)-i-1);break;
  28. case 'B':n=11*pow(16,strlen(hex)-i-1);break;
  29. case 'C':n=12*pow(16,strlen(hex)-i-1);break;
  30. case 'D':n=13*pow(16,strlen(hex)-i-1);break;
  31. case 'E':n=14*pow(16,strlen(hex)-i-1);break;
  32. case 'F':n=15*pow(16,strlen(hex)-i-1);break;
  33. deflaut:break;
  34. }
  35. sum=sum+n;
  36. }
  37. printf("%lu\n",sum);
  38. return 0;
  39. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/226606
推荐阅读
相关标签
  

闽ICP备14008679号