double f(double x);
int main(void)
{ int n,i;
double result, x;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf",&x);
result=f(x);
printf("%.2lf\n",result);
}
return 0;
}
double f(double x)
{
double result;
if(x<0)
result=-x+sin(x);
else if(0<x<10)
result=log2(x);
else if(x==0)
result=0;
else if(x>=10)
result=pow(x,2);
return result;
}
x=0时的结果不对,x=10时的结果也不对(x=0时,应该result=0.00,x=10时,result=100.00),但我的结果:x=0时,result=-1.#J;x=10时,result=3.32.
请教大神,这问题出那啦?
能贴一下你的运行结果(运行过程)吗
对于C语言的if语句,范围顺序要有条理,把if语句中换为由x<0,x==0,0<x<10,x>=10,这样设计,问题就可以解决了!