Pol, en el enunciado de la evaluacion continua que pretendes llevar a cabo se te indica que el número de lineas y de caracteres por linea es aleatorio. Este ejercicio se hace muy facilmente con fgets y fprints, creando un string de chars de un tamaño grande y una funcion que invierta las cadenas que leas. Ademas, en el tercer apartado, puedes utilizar un array de strings para ir almacenando las lineas invertidas por orden. Vamos, es lo que yo haria