Разобраться с 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д