Capitalize first letter of each word of input
CJam, 15 13 bytes

Lq{_eu?_S-}/;


Try it online in the CJam interpreter.

Pseudocode

L             e# B := ""
 q            e# Q := input()
  {       }/  e# for C in Q:
   _eu?       e#     C := B ? C : uppercase(C)
       _S-    e#     B := string(C).strip(" ")
            ; e# discard(B)


All modified characters C are left on the stack and, therefore, printed when exiting.