Hola.
Puedes buscar los espacios de la frase, y mientras no haya espacio meter caracter a caracter en un vector, por ejemplo, palabra y meterlo en la tabla.
Mas o menos sería algo asi:
----------------------------------------
char frase[100],palabra[100];
 int contfra,contpala, num_frase,i;
 printf("Introduce tu frase: ");
 gets(frase);
 for (contfra=0; frase[contfra]==" "; contfra++)
 {
  contfra++;
  if((frase[contfra])!=" ")
    palabra[0]=frase[contfra];
 }
 contfra=1;
 contpala=1;
 num_frase = strlen(frase);
 while(frase[contfra]!=num_frase)
 {
         if(frase[contfra]!=" ")
         {
           palabra[contpala]=frase[contfra];
           contpala++;
           contfra++;
         }else
         {
           palabra[contpala]=" ";
           printf("Palabra: %s",palabra);
           for(i=0;i=contpala;i++)
              palabra="";
           contpala++;
           contfra++;
          }
  }
}
---------------------------------------
No se si funciona porque ni lo he probado ni nada y a estas horas (las 2 de la mañana...) no estoy muy despejado para discurrir.
De todas formas lo puedes hacer con punteros, mucho mejor (por lo menos en lo que ha sorpresas en la frase se refiere;))
Espero que funcione:D
Saludos,
  Tenesor
[Modificado el 3/5/02 por tenesor]