Проблема с логикой if-else
Не видит if (x<0) printf ("\n Функцiя не iснує \n"); if (x>=20) printf ("\n Функцiя не iснує \n").
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
int main()
{
setlocale (LC_ALL, "Ukr");
float x, y;
printf ("\n Введiть значення x = ");
scanf ("%f", &x);
{
if (x<-4) printf ("\n y = %f \n", x-5);
else if (x<0) printf ("\n Функцiя не iснує \n");
else if (0<=x<20) printf ("\n y = %f \n", 9 * pow(x,4) + 1);
else if (x>0) printf ("\n Функцiя не iснує \n");
else if (31<=x<=32) printf ("\n y = %f \n", 9 * pow(x,4) + 1);
else if (x>=20) printf ("\n Функцiя не iснує \n");
}
return 0;
}
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Вот так писать
31<=x<=32
нельзя. Оно хоть и компилится, но не работает, как ожидается
Надо вот так
31 <= x && x <= 32
хотя по факту это
x == 31 || x == 32
и там таких ещё много.