首页 新闻 赞助 找找看

C语言中关于函数的一些应用。

0
悬赏园豆:10 [已解决问题] 解决于 2019-11-01 17:54

include<stdio.h>

include<math.h>

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.
请教大神,这问题出那啦?

Fate-Joker的主页 Fate-Joker | 初学一级 | 园豆:158
提问于:2019-10-31 21:31
< >
分享
最佳答案
0

能贴一下你的运行结果(运行过程)吗

收获园豆:10
你小子嚣张呀 | 小虾三级 |园豆:630 | 2019-11-01 14:03
其他回答(1)
0

对于C语言的if语句,范围顺序要有条理,把if语句中换为由x<0,x==0,0<x<10,x>=10,这样设计,问题就可以解决了!

Fate-Joker | 园豆:158 (初学一级) | 2019-11-01 17:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册