Artyom, попробуй расписать на бумажке, как работает твой цикл, т.е. для каждого i посчитай, какие значения будут в выражении. А while вместо If нельзя, потому что это разные конструкции. Вот полезный сайт: cppstudio.com/cat/274
В применении while нет никакого смысла, так как внутри него параметр i не изменяется.
Программа никогда не попадёт внутрь while, так как результат выражения всегда будет >= 111 (никак не 15),
и слава богу, если вдруг попадёт, то не выберется (так как i внутри не изменяется).
Вы, если не понимаете чего то, то пробуйте экспериментировать. Например прогоните вот такую прогу,