Найдите ошибку вхождения значения в промежуток - C (СИ)
Формулировка задачи:
Найдите ошибку - не работает должным образом
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
void main()
{
setlocale(LC_ALL, "RUS");
double x,a=2.5,b=-0.9;
double z=0;
printf("Введите x: ");
scanf("%lf", &x);
if(x>=-1 && x<=1)
{
if(x < 0.1)
z=a*pow(x,2)+b*pow(x,2/3);
else if(x==0.1)
z=a*pow(x,2);
else
z=b*pow(x,2/3);
printf("z=%4.2lf\n", z);
}
else
{
printf("Не входит в промежуток значений\n");
}
z=-1;
getch();
}Решение задачи: «Найдите ошибку вхождения значения в промежуток»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
*
void main()
{
* * setlocale(LC_ALL, "RUS");
* * double x,a=2.5,b=-0.9;
* * double z=0;
* * printf("Введите x: ");
* * scanf("%lf", &x);
* * if(x>=-1 && x<=1)
* * {
* * * * if(x < 0.1)
* * * * * * z=a*pow(x,2)+b*pow(x,2./3.); //было 2/3 т.е тип int
* * * * else if(x==0.1)
* * * * * * z=a*pow(x,2);
* * * * else
* * * * * * z=b*pow(x,2./3.); //было 2/3 т.е тип int
* * * * printf("z=%4.2lf\n", z);
* * }
* * else
* * {
* * * * printf("Не входит в промежуток значений\n");
* * }
* * z=-1;
*
* * getch();
}