当前位置:   article > 正文

蓝桥杯 - 基础练习十六进制转十进制(C语言版)_c语言十六进制转10进制用switch

c语言十六进制转10进制用switch

题目:



代码如下:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. /*
  5. * 十六进制转十进制
  6. * 作者:踏歌行
  7. * 日期:2018 - 3 - 17
  8. **/
  9. int main()
  10. {
  11. int i;
  12. int len = 0; //计算SUM长度
  13. char SUM[50]; //存储结果
  14. double index = 0; //16的多少次幂
  15. long long sum = 0; //结果
  16. int s_n = 0; //计算十六进制数组长度
  17. double sixteen_1[8];//将输入的字符串数组转换成实数存入其中
  18. char sixteen[8]; //输入的字符串数组
  19. scanf("%s",sixteen);
  20. for(i = 0; i < 8; i++)
  21. {
  22. switch(sixteen[i])
  23. {
  24. case '0':
  25. sixteen_1[s_n++] = 0;
  26. break;
  27. case '1':
  28. sixteen_1[s_n++] = 1;
  29. break;
  30. case '2':
  31. sixteen_1[s_n++] = 2;
  32. break;
  33. case '3':
  34. sixteen_1[s_n++] = 3;
  35. break;
  36. case '4':
  37. sixteen_1[s_n++] = 4;
  38. break;
  39. case '5':
  40. sixteen_1[s_n++] = 5;
  41. break;
  42. case '6':
  43. sixteen_1[s_n++] = 6;
  44. break;
  45. case '7':
  46. sixteen_1[s_n++] = 7;
  47. break;
  48. case '8':
  49. sixteen_1[s_n++] = 8;
  50. break;
  51. case '9':
  52. sixteen_1[s_n++] = 9;
  53. break;
  54. case 'A':
  55. sixteen_1[s_n++] = 10;
  56. break;
  57. case 'B':
  58. sixteen_1[s_n++] = 11;
  59. break;
  60. case 'C':
  61. sixteen_1[s_n++] = 12;
  62. break;
  63. case 'D':
  64. sixteen_1[s_n++] = 13;
  65. break;
  66. case 'E':
  67. sixteen_1[s_n++] = 14;
  68. break;
  69. case 'F':
  70. sixteen_1[s_n++] = 15;
  71. break;
  72. }
  73. }
  74. index = (double)s_n;
  75. for(i = 0; i < s_n; i++)
  76. {
  77. sum += sixteen_1[i] * pow(16,index - 1);
  78. index--;
  79. }
  80. if(sum == 0)
  81. {
  82. SUM[len++] = '0';
  83. }
  84. else
  85. {
  86. for(; sum > 0; )
  87. {
  88. SUM[len++] = sum % 10 + '0';
  89. sum /= 10;
  90. }
  91. }
  92. for(i = len - 1; i >= 0; i--)
  93. {
  94. printf("%c",SUM[i]);
  95. }
  96. return 0;
  97. }

运行结果如下:


                                                                                                  

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

闽ICP备14008679号