C语言求解分段函数【要求用三个if句型】。当x>5时,y=x+1。当—5≤x≦5时,y=0。当x<—5时,y=x-1。

求大神帮忙!!!!!

2011-10-4 13:05满意回答
因为y1与(x-1)成正比例,y2与(x+1)成反比例
所以设y1=k1(x-1),y2=k2/(x+1)
则y=y1+y2=k1(x-1)+k2/(x+1)
因为当x=0时,y=-5:当x=2时,y=1
所以-5=-k1+k2
1=k1+k2/3
解得 k1=2 ,k2=1/2
所以y=2(x-1)-3/(x+1)2)当y=-3时 解得 x=-2或x=1/2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-01
main() {
calculate(6);
calculate(4);
calculate(-6);
return 0;
}

float calculate(float x) {
if (x>5)
return x+1;
else if (x>=01 && x<=5)
return 0;
else
return x-1;
}追问

#include
#include
int main()
{
float x,y;
scanf("%f",&x);
if(x>5)
y=x+1;
if(x>=-5&&x<=5)
y=0;
else
y=x-1;
printf("%f\n",y);
return 0;
}

这个改错 谢谢了!!!!

追答

if(x>=-5&&x<=5)

y=x-1;

把-改为真正的-号,不要输入中文字符

追问

不是这个问题 我们老师要求用三个if句型

追答

那就把最后一个else改成else if (x<-5),两个是等价的。不用完全尊照老师的说法去做,只要逻辑上符合,那就是对的。如果你们老师判错的话,那就别跟这种老师学。

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网