Почему при изменении условия цикла ничего не меняется? - C (СИ)
Формулировка задачи:
Столкнулся с одним непонятным явлением в цикле. Для описания этого явления написал простенькую программку.
В цикле условие i<=3 меняем на i<3. Но результат программы никак не меняется! Программа все так же выводит квадраты чисел от 0 до 2.9. Почему смена нестрогого условия на строгое никак не отражается на результате?
#include <stdio.h> #include <conio.h> #include <math.h> int main(){ double i; for(i=0; i<=3; i+=0.1) printf("\nSqr(%lg)=%lg", i, i*i); getch(); return 0; }
Решение задачи: «Почему при изменении условия цикла ничего не меняется?»
textual
Листинг программы
int main(){ double i,j=3.0; for(i=0; i<=j; i+=0.1) printf("\nSqr(%lg)=%lg", i, i*i); getch(); return 0; }
Объяснение кода листинга программы
В этом коде выполняется следующее:
- Объявляются две переменные: i и j. Значение переменной j устанавливается равным 3.0.
- Запускается цикл for, который начинается с i=0, продолжается до тех пор, пока i меньше или равно j, и шаг цикла равен 0.1.
- Внутри цикла вычисляется и выводится на экран значение квадрата переменной i (используется функция printf).
- После окончания цикла программа ожидает нажатия клавиши (используется функция getch).
- Программа возвращает 0, что означает успешное завершение работы. Следует отметить, что в данном коде не происходит изменения переменной j в цикле, поэтому значение переменной j остается равным 3.0 на протяжении всего цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д