Creo que ese programa ya lo hice, pero por pereza no me he puesto a buscarlo...

Pero bueno, que tal asi? Este lo he probado en linux y esta en ANSI C, asi que no creo que se tenga problemas con los windozes.
Saludos,
 Tenesor
---------------------------------------------
#include <stdio.h>
#include <string.h>
main()
{
      char frase[100],inicial[20];
      int contfra,contini, num_frase;
      Printf("Introduce tu frase: ");
      gets(frase);
      for(contfra=0; frase[contfra]==" "; contfra++);
      {
        contfra++;
        if((frase[contfra])!=" ")
                inicial[0]=frase[contfra];
      }
      num_frase = strlen(frase);
      contini=1;
      for(contfra=1;contfra==num_frase;contfra++)
      {
          if(frase[contfra]=" ")
          {
            contfra+1;
            if(frase[contfra]!=" ")
            {
              inicial[contini]=frase[contfra];
              contini++;
            }
          }
      }
      inicial[contini]=" ";
      printf("nLas iniciales de la frase son: %sn",toupper(inicial));
}
---------------------------------------------
PERDON!!! He editado el programa porque se me habia olvidado pasarlo a mayusculas!!!
(En el ultimo printf, el "toupper(inicial)" pasa a mayusulas el caracter o caracteres de esa variable-array) 
[Modificado el 2/22/02 por tenesor]