Here is a 396 byte C program that prints a C++ program that prints a Ruby program that prints a Python program that prints a PHP program that prints a Perl program, that prints the original C program.
Coincidentally that program is the same in all languages :) it is a polygot. This is definitely a much harder problem than just cycling through the languages...