Цикл выполняется только раз - C (СИ)
Формулировка задачи:
задача 75: > Очень странный цикл, не нравится мне, он в
любом случае только один
раз выполнится, а всё последующее вообще
ни одного. Что-то не то ты
сделал. Если там задание про "без использования if",
то имеется в виду, что
нужно воспользоваться тем свойством, что
логические операции
возвращают 0 или 1 сами по себе и их можно
вместе комбинировать при помощи && и ||. > while (p>0) {
#include <stdio.h> #include <math.h> int main() { int x,y,z,p,k; printf("x = "); > scanf("%d",&x); printf("y = "); scanf("%d",&y); printf("z = "); scanf("%d",&z); k = 0; > p = x*y*z; while (p<0) { ++k; printf("%d\n",k); p = 0; }
while (x*z*z*y < 0) { printf("%d\n",k); x = 0; } while (x*y*y*z < 0) { > printf("%d\n",k); x = 0; } while (x*x*y*z < 0) { printf("%d\n",k); x = 0; > } while (x*x*z*y >0) { ++k; printf("%d\n",k); x = 0; } } return 0; }
Решение задачи: «Цикл выполняется только раз»
textual
Листинг программы
int x,y,z,k; scanf("%d%d%d", &x, &y, &z); k=!((x*y*z > 0)&&((x*y<0)||(x*z<0))); printf ("%d\n", k); system("pause"); return 0;
Объяснение кода листинга программы
- Объявляются четыре переменные типа int: x, y, z, k.
- С помощью функции scanf в переменные x, y, z считываются значения, вводимые пользователем.
- Переменная k принимает значение, равное логическому отрицанию выражения (xyz > 0)&&((xy<0)||(xz<0)).
- Выводится значение переменной k с помощью функции printf.
- С помощью функции system(
pause
) программа переходит в режим ожидания нажатия клавиши пользователем. - Программа возвращает 0, завершая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д