Okok basta una piccola modifica!
Il problema è la scanf con %s, che legge una stringa fino al primo spazio!

Tra le variabili del main, metti anche

codice:
char c;
int i = 0;
Poi, dopo aver chiesto d'inserire una stringa, fai cosi:

codice:
do
{
     scanf ("%c", &c);
     if (c != 10)
     {
           s[i] = c;
           i++;
     }
}
while (c != 10);
s[i] = '\0';
In questo modo ti legge la stringa fino alla pressione del carattere invio (10), compresi gli spazi