用C语言求分段函数值

如题所述

#include <stdio.h> 
int main() 
{double x,y;
 scanf("%lf",&x);
 if(x<0)y=x*x-1;
   else if(x<1)y=x*x;
     else y=x*x+1;
 printf("%g",y);
return 0; 
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-31
#include <stdio.h>
int main()
{
double x,y;
scanf("%lf",&x);//输入x的值
if(x<0) y=x*x-1;//如果x<0
else if(x<1) y=x*x;//注意else if已经包含x>=0,因此不需要再写x>=0
else y=x*x+1;//注意else已经包含x>=1,不需要再写x>=1
printf("%lf",y);//输出y的值
return 0;
}

本回答被提问者采纳
第2个回答  2018-10-31
/*参考代码如下*/
#include <stdio.h>
double F(double x)
{
    if (x<0) return x*x-1;
    else if (x<1) return x*x;
    return x*x+1;
}
int main()
{
    double x,y;
    scanf("%lf",&x);
    printf("%lf\n",F(x));
    return 0;
}

第3个回答  2018-10-30
#include <stdio.h>
double Function(double x)
{
if (x<0) return -1;
else if (x<1) return (2-x);
else if (x<3) return (1+x*0.5);
else if (x<6) return (2-0.5*(x-3));
else if (x<10) return (x*x);
else return -2;
}
int main(void)
{
double x,y;
scanf("%lf",&x);
y=Function(x);
printf("%lf\n",y);
return 0;
}追问

能解释一下吗?这分段函数值怎么解法

相似回答