码迷,mamicode.com
首页 > 其他好文 > 详细

int2Roman

时间:2020-07-19 00:46:43      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:for   turn   min   memcpy   malloc   str   ++i   mint   roman   

char * intToRoman(int num){
    int symInt[13]={1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
    char *symStr[13]={"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
    int tmp, i;
    char *res=malloc(1000);
    memset (res, 0, 1000);
    char *p = res;
    //while (num) {
        for (i=0;i<13;++i) {
            tmp = num/symInt[i];
            while (tmp--){
                memcpy(p, symStr[i], strlen(symStr[i]));
                p += strlen(symStr[i]);
            }
            num = num % symInt[i];
        }
        
    //}
    return res;
}

int2Roman

标签:for   turn   min   memcpy   malloc   str   ++i   mint   roman   

原文地址:https://www.cnblogs.com/micoblog/p/13337965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!