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

ncplee 1年前 已收到2个回答 举报

ilovesc 幼苗

共回答了12个问题采纳率:75% 举报

main() {
calculate(6);
calculate(4);
calculate(-6);
return 0;
}
float calculate(float x) {
if (x>5)
return x+1;
else if (x>=01 && x

1年前 追问

6

ncplee 举报

#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("%fn",y); return 0; } 这个改错 谢谢了!!!!

举报 ilovesc

if(x>=-5&&x<=5) y=x-1; 把-改为真正的-号,不要输入中文字符

ncplee 举报

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

举报 ilovesc

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

流浪歌手0911 幼苗

共回答了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年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.049 s. - webmaster@yulucn.com