#12. 整数转罗马数字 穷举法

char* intToRoman(int num) {
    if(num<1|| num>3999) return;
    char *r = (char*)malloc(sizeof(char)*20);
    char* I[10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
    char* X[10] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
    char* C[10] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
    char* M[4] = {"", "M", "MM", "MMM"};
    r = strcpy(r,M[num/1000]);
    r = strcat(r,C[(num%1000)/100]);
    r = strcat(r,X[(num%100)/10]);
    r = strcat(r,I[num%10]);
    return r;
}
原文地址:https://www.cnblogs.com/czsblog/p/10584214.html