char* intToRoman(int num) { char *str = (char *)malloc(100); memset(str,0,100); char *strM[] = { "", "M", "MM", "MMM" }; char *strC[] = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" }; char *strX[] = { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" }; char *strI[] = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" }; strcpy(str, strM[num / 1000]); strcat(str, strC[(num % 1000) / 100]); strcat(str, strX[(num % 100) / 10]); strcat(str, strI[num % 10]); return str; }
|