Ваша оценка - 2 балла. Стандарт C++ запрещает вызывать main из приложения. 
Использование рекурсии здесь нужно как раз для того, чтобы осуществить переворачивание последовательности - печать должна происходить, начиная с конца строки.
Рассмотрим пример переворачивания ASCIIZ - строки.
#include <iostream>
using namespace std;
void tnirp(const char* str)
{
	if(*str)
	{
		tnirp(str+1);
		cout << *str;
	}
}
void print(const char* str)
{
	if(*str)
	{
		cout << *str;
		print(str+1);
	}
}
int main() 
{
	const char str[]="Roses are red";
	print(str);
	cout << endl;
	tnirp(str);	
	return 0;
}
IDEONE
Разберите этот пример - прокомментируйте каждую строчку
Обратите внимание на разницу между текстом print и tnirp
Чтобы решить вашу задачу, нужно эту программу слегка дополнить.