守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 458|回复: 0

[技术资料] 编程算法之递归阶(数制转换)

[复制链接]
  • TA的每日心情
    慵懒
    2015-4-16 10:25
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    18

    主题

    19

    帖子

    1284

    积分

    版主

    Rank: 16Rank: 16Rank: 16Rank: 16

    威望
    11
    贡献
    0
    金币
    359
    钢镚
    20
    发表于 2015-4-19 23:47:03 | 显示全部楼层 |阅读模式
    将十进制转换为其他进制整数的计算过程是:将十进制除以相应制数的整数,取其余数作为相应数制的最低位,再用商除以相应数制的基础,取余数作为相应数制的次低位。。。这样不断的重复,即可完成转换。

    递归算法如下


    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技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-11-23 01:18 , Processed in 0.043059 second(s), 32 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表