Разобраться с WHILE и DO WHILE - C (СИ)
Формулировка задачи:
Почему если я x+=0.1 ставлю вначале цикла то все норм работает, только вот значение в точке х=1 оно пропускает(ну понятно почему)
А вот если я ставлю x+=0.1 вконце цикла, то оно после х=5 больше не выводит значений
В for же все работает отлично.
Решение задачи: «Разобраться с WHILE и DO WHILE»
textual
Листинг программы
while (x <= 20) { if ((fabs(x - 5)) >= 0.01) { y = 1.0 / (x - 5); printf("x=%f\t y=%f", x, y); } x += 0.1; }
Объяснение кода листинга программы
x
- переменная типаfloat
, значение которой не превышает 20fabs(x - 5)
- функция, возвращающая абсолютное значение числа, в данном случае разницу междуx
и 50.01
- число, которое меньше или равно абсолютному значению разницы междуx
и 5y
- переменная типаfloat
, которая будет содержать результат деления 1 на разницу междуx
и 5printf(
x=%f\t y=%f, x, y);
- функция вывода на экран значенийx
иy
с запятой между нимиx += 0.1
- увеличение значения переменнойx
на 0.1- Цикл выполняется до тех пор, пока значение переменной
x
меньше или равно 20 и разница междуx
и 5 больше 0.01
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д