Your formatting still needs work.
Also, you should explain your problem more clearly. Tell us what is the while() supposed to do, and how is it not working.
"PossibleEvolutions" is never initialized, but used in several places. That is certainly one problem.
If experience is only rewarded if the user enters the correct number of "candies" and "pidgeys", you should skip the experience calculations if one of these inputs is not a valid value. This is as simple as setting flags if either of those inputs is not valid, and skipping the experience calculation if either of those flags are set.
Code:
Exp = Pidgey*1000;
printf("total exp with lucky egg was %d", Pidgey);
Did you mean to use "Exp" in the printf()? Or maybe even "XPWithLuckyEgg"?