// “Immediate-mode” Roman numerals. #include #include int main(int argc, char **argv) { int n = atoi(argv[1]); #define seg(val, rep) while (n >= val) n -= val, printf("%s", rep) seg(1000, "M"); seg(900, "CM"); seg(500, "D"); seg(400, "CD"); seg(100, "C"); seg(90, "XC"); seg(50, "L"); seg(40, "XL"); seg(10, "X"); seg(9, "IX"); seg(5, "V"); seg(4, "IV"); seg(1, "I"); printf("\n"); return 0; }