C语言简单实现进制互相转换

墨蓝 2022-05-16 04:04 255阅读 0赞
  1. /*
  2. 日期:2012年11月11日
  3. 时间:01:35
  4. 作者:android88@qq.com
  5. 博客:http://blog.csdn.net/java886o
  6. 目的:测试printf()以及scanf()的用法
  7. 功能:进制转换工具类,实现10进制8进制16进制2进制之间的转换
  8. */
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. void main()
  12. {
  13. rescanf:
  14. system("cls");
  15. char result[128]; //存储转换后的结果
  16. printf(" 欢迎使用进制转换工具\n\n");
  17. printf(" [1] 10------>------2\n");
  18. printf(" [2] 10------>------8\n");
  19. printf(" [3] 10------>------16\n");
  20. printf(" [4] 16------>------2\n");
  21. printf(" [5] 16------>------8\n");
  22. printf(" [6] 16------>------10\n");
  23. printf(" [7] 8------>------2\n");
  24. printf(" [8] 8------>------10\n");
  25. printf(" [9] 8------>------16\n");
  26. int type,scanNumber;
  27. printf("\n 请输入序号:");
  28. scanf("%d",&type);
  29. switch(type) {
  30. case 1:
  31. printf("\n 【10进制转2进制】:");
  32. scanf("%d",&scanNumber);
  33. itoa(scanNumber,result,2);
  34. printf("\n 【结果】【%s】",result);
  35. break;
  36. case 2:
  37. printf("\n 【10进制转8进制】:");
  38. scanf("%d",&scanNumber);
  39. itoa(scanNumber,result,8);
  40. printf("\n 【结果】【%s】",result);
  41. break;
  42. case 3:
  43. printf("\n 【10进制转16进制】:");
  44. scanf("%d",&scanNumber);
  45. itoa(scanNumber,result,16);
  46. printf("\n 【结果】【0x%s】",result);
  47. break;
  48. case 4:
  49. printf("\n 【16进制转2进制】:");
  50. scanf("%x",&scanNumber);
  51. itoa(scanNumber,result,2);
  52. printf("\n 【结果】【%s】",result);
  53. break;
  54. case 5:
  55. printf("\n 【16进制转8进制】:");
  56. scanf("%x",&scanNumber);
  57. itoa(scanNumber,result,8);
  58. printf("\n 【结果】【%s】",result);
  59. break;
  60. case 6:
  61. printf("\n 【16进制转10进制】:");
  62. scanf("%x",&scanNumber);
  63. itoa(scanNumber,result,10);
  64. printf("\n 【结果】【%s】",result);
  65. break;
  66. case 7:
  67. printf("\n 【8进制转2进制】:");
  68. scanf("%o",&scanNumber);
  69. itoa(scanNumber,result,2);
  70. printf("\n 【结果】【%s】",result);
  71. break;
  72. case 8:
  73. printf("\n 【8进制转10进制】:");
  74. scanf("%o",&scanNumber);
  75. itoa(scanNumber,result,10);
  76. printf("\n 【结果】【%s】",result);
  77. break;
  78. case 9:
  79. printf("\n 【8进制转16进制】请输入需要转换的数:");
  80. scanf("%o",&scanNumber);
  81. itoa(scanNumber,result,16);
  82. printf("\n 【结果】【0x%s】",result);
  83. break;
  84. default:
  85. goto rescanf;
  86. break;
  87. }
  88. printf("\n\n\n");
  89. system("pause");
  90. goto rescanf;
  91. }

发表评论

表情:
评论列表 (有 0 条评论,255人围观)

还没有评论,来说两句吧...

相关阅读