#include
#include
int main()
{
double e=1.,x,z1,z2,z3,z4;
printf("x: ");
scanf("%lf", &x);
z1=(e+2.5*x)/((e-x)*x*x);
z2=sqrt(x*fabs(e-x)*sqrt(fabs(sin(x))))*cbrt(x*x+e);
z3=pow(sin(sqrt(x)), 3);
z4=exp(2.)+exp(tan(x));
printf("z1=%6.3f\nz2=%6.3f\nz3=%6.3f\nz4=%6.3f\n",z1,z2,z3,z4);
}
А что там у Вас с выражением для z4? В задании его нет, есть z5. У меня z4=exp(2)+exp(tg(x)), с ним вот что:

ПапаПросветленный (31810)
2 месяца назад
pow(x, 3) работает примерно на порядок медленнее, чем x * x * x для вещественных x.
А вот ваш sqrt(sqrt(x)) - раза в 3 быстрее, чем pow(x, 1.0/4).
cbrt(x) ненамного быстрее, чем pow(x, 1.0/3), а иногда даже чуть медленнее.
ПапаПросветленный (31810)
2 месяца назад
А pow(sin(sqrt(x)), 3) работает даже медленнее, чем sin(sqrt(x))*sin(sqrt(x))*sin(sqrt(x)), и раза в 3 медленнее, чем вынесение sin(sqrt(x)) в промежуточную переменную.