守望者--AIR技术交流

标题: 编程算法之递归阶(数制转换) [打印本页]

作者: yaoyuan0701    时间: 2015-4-19 23:47
标题: 编程算法之递归阶(数制转换)
将十进制转换为其他进制整数的计算过程是:将十进制除以相应制数的整数,取其余数作为相应数制的最低位,再用商除以相应数制的基础,取余数作为相应数制的次低位。。。这样不断的重复,即可完成转换。

递归算法如下


  1. [cpp] view plaincopy

  2.     // 编程算法之递归(数制转换).cpp : 定义控制台应用程序的入口点。  
  3.     //  
  4.       
  5.     #include "stdafx.h"  
  6.     #include<string.h>  
  7.     void convto(char *s ,int n,int b)  
  8.     {  
  9.         char bit[17] = {"0123456789ABCDEF"};  
  10.       
  11.         int len;  
  12.         if(n==0)  
  13.         {  
  14.               
  15.             strcpy_s(s,1,"");  
  16.             return;  
  17.         }  
  18.         convto(s,n/b,b);  
  19.         len = strlen(s);  
  20.         s[len] = bit[n%b];  
  21.         s[len+1] = '\0';  
  22.       
  23.       
  24.     }  
  25.     int _tmain(int argc, _TCHAR* argv[])  
  26.     {  
  27.         char s [80];  
  28.         int i,base,old;  
  29.         printf("请输入十进制数:");  
  30.         scanf_s("%d",&old);  
  31.         printf("请输入转换的进制:");  
  32.         scanf_s("%d",&base);  
  33.         convto(s,old,base);  
  34.         printf("%s\n",s);  
  35.          
  36.         return 0;  
  37.     }  
复制代码
blog.csdn.net/yaoyuan0701/article/details/45119491







欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)