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; }