帮忙看一道很白痴的C编程题

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:14:12
编程序计算下面的函数:?
e -1 0<x<1?
y= |x|+2 3≤x≤4?
sin(x2) 当x取其他值时?

**********************
#include<stdio.h>
#include<math.h>

void main()
{
double x;
scanf("%f",&x);
printf("%lf",(x>0&&x<1) ? exp(sqrt(x)) : (x>=3&&x<=4) ? (fabs(x)+2) : sin(x*x));
getch();
}
哪里括号错了 麻烦把正确的代码贴出来吧

printf("%lf",(x>0&&x<1) ? exp(sqrt(x)) : (x>=3&&x<=4) ? (fabs(x)+2) : sin(x*x)); 错了 括号问题 所以出错了 把括号位置调一下

看了,然后呢?白痴!

别这么写,这么写不是一个好习惯,代码的可读性非常差,也容易出现逻辑错误。
这么写吧:
#include<stdio.h>
#include<math.h>

void main()
{
double x,result;
scanf("%lf",&x);

if(x>0&&x<1) result= exp(sqrt(x));
else if(x>=3&&x<=4) result= fabs(x)+2;
else result=sin(x*x);

printf("%lf",result);
getch();
}