Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.
Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
1) Определим какая масса соли в первом растворе, если мы знаем, что его масса составляет 10 литров, а в нем 40% соли.
10 - 100%
Х - 40%;
10 * 40 / 100 = 4 литра.
2) Узнаем массу соли во втором растворе, если мы знаем, что масса раствора 20 литров, а содержание соли в нем составляет 25%.
20 - 100%
Х - 25%;
20 * 25 / 100 = 5 литров.
3) Узнаем массу получившегося раствора.
10 + 20 = 30 литров.
4) Выясним какая масса соли в новом растворе.
4 + 5 = 9 литров.
5) Узнаем процентное содержание нового раствора.
30 - 100%
9 - Х%;
9 * 100 / 30 = 30%.
ответ: в новом растворе содержится 30% соли.