1. Pick the best RFP by number of requirements met, then by lowest cost if there are multiples with the same number of requirements met.
2. Use strcat and see if the result of each combination is equal to that (strcmp) of any other word in your dictionary.
7. This one's a bit trickier with a few possible solutions, but think about using one or more for loops, strncmp and perhaps strncpy, depending on how you want to do it.
Check here: http://www.cplusplus.com/reference/clibrary/cstring/strncmp/ for some decent c string documentation.