c语言分析分段函数 c语言求分段函数

C语言分段函数

我想问你个问题:你是不是用x = -1测试的??

创新互联公司自2013年起,先为郴州等服务建站,郴州等地企业,进行企业商务咨询服务。为郴州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

那么y = x-1 跟 y = 2x的结果不是一样么,都是-2啊。。。不要因此得出结论x=-1的时候y=2x

另外,你这个函数如果用if就全用if,如果用if--else-if,就全部这样,不要混合用,很乱。

建议都用if--else if,这样能够看出是一个分段函数。

c语言分段函数

写法1

if (x-5 x0) y = x;

if (x == 0) y=x-1;

if (x0 x10) y = x+1;

写法2

if (x-5 x10)

{

y=x; //在这个范围,不论怎样,先把y赋值为x

if (x=0) //在这个范围,需要对y值做修改

{

y = y-1; //先把y-1再说,对应x=0的情况,如果x!=0,那么我们再次修改

if(x0)

y = y+2; //刚刚y-1了,所以需要+2

}

}

写法3,终于是正常点的做法了

if (x-5 x0) y=x;

else

{

if (x10)

{

if (x==0) y=x-1;

else y=x+1;

}

}

写法4

switch(x)

{

case 0:

y=x-1;

break;

case -4;

case -3;

case -2;

case -1;

y=x;

break;

case 1;

case 2;

case 3;

case 4;

case 5;

case 6;

case 7;

case 8;

case 9;

y=x+1;

break;

}

c语言求分段函数

帮你改了下代码,VC6测试通过,自己看看吧。

#includestdio.h

int main()

{

float x,y;//根据给定的测试用例,x,y应该为float型

scanf("%f",x);//x为float型,所以改为%f

if(x20)

{

y=x+100;

}

else if(x=20x=100)

{

y=x;

}

else

y=x-100;

printf("x=%f,y=%f\n",x,y);

return 0;//缺少分号

}

用C语言计算分段函数

#include "stdio.h"

#includemath.h

void main()

{

double x,y,f,h;

printf("请输入x:\n");

scanf("%lf",x);

printf("请输入y:\n");

scanf("%lf",y);

if((x=0)(y0))

f=2*pow(x,2)+3*x+1/x+y;

else if((x=0)(y=0))

f=2*x*x+3*x+1/x+y*y;

else

f=3*sin(x+y)/2/pow(x,2)+3*x+1;

printf("x=%lf,y=%lf,f=%lf\n",x,y,f);

h=pow(x,2);

printf("%lf",h);

}


当前标题:c语言分析分段函数 c语言求分段函数
链接分享:http://myzitong.com/article/doccped.html