c语言中的分段函数问题 c语言分段函数简单代码

怎么用c语言编程一个分段函数?#include
int main()
{
int x,y;
scanf("%d",x);
if(0xx10) y=3*x+2;
else
{if(x=0) y=0;
else
{if (x0) y=x*x;
else printf("go die\n");
}
}
printf("%d",y);
return 0;
}该程序的分段函数如下:
f(x)=3x+2(0x10)
f(x)=1(x=0)
f(x) = x*x(x0)
#include stdio.h
#include math.h
void main()
{
float x;
double y;
printf("Please input the value of x:");
scanf("%f",x);
if(x=-10x=4)
{
y=fabs(x-2);
printf("y=%.2f\n",y);
}
else if(x=5x=7)
{
y=x+10;
printf("y=%.2f\n",y);
}
else if(x=8x=12)
{
y=pow(x,4);
printf("y=%.2f\n",y);
}
else
printf("No answer\n");
}
c语言分段函数写法1
if (x-5x0)y = x;
if (x == 0) y=x-1;
if (x0x10) y = x+1;
写法2
if (x-5x10)
{
y=x;//在这个范围c语言中的分段函数问题,不论怎样,先把y赋值为x
if (x=0)//在这个范围 , 需要对y值做修改
{
y = y-1;//先把y-1再说,对应x=0的情况,如果x!=0,那么c语言中的分段函数问题我们再次修改
if(x0)
y = y+2; //刚刚y-1c语言中的分段函数问题了,所以需要+2
}
}
写法3 , 终于是正常点的做法了
if (x-5x0) 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语言分段函数问题你c语言中的分段函数问题的C语言程序中,else ifc语言中的分段函数问题的判断条件都不对,比如在C语言中1=x10应该改成1=xx10以此类推,其它两个也都不对,10=x30,应该改成10=xx30 ,30=x=60应该改成30=xx=60,就对c语言中的分段函数问题了.
完整c语言中的分段函数问题的更改后的C语言程序如下(改动的地方见注释)
#includestdio.h
int main()
{
int x,y;
printf("输入x的值:");
scanf("%d",x);
if (x1)
{
y=x;
}
else if (1=xx10) //这里改一下
{
y=2*x-1;
}
else if (10=xx30) //这里改一下
{
y=3*x-1;
}
else if (30=xx=60) //这里改一下
{
y=4*x-2;
}
else
{
y=5*x;
}
printf("y的值为:%d\n",y);
return 0;
}
C语言计算分段函数的值为什么不对呢?问题一,x和y都是双精度型(double)数变量,用格式输入和输出时 , 要使用格式符%lf,否则会出错,得不到正确c语言中的分段函数问题的结果 。
你用的%d是整型(int)数的输出输入格式符 。
所以你必须把c语言中的分段函数问题他们统一起来,方法一是:把scanf和printf两个语句中的%d都换成%lfc语言中的分段函数问题;方法二是:把前面定义语句double x,y;中的double换成int,语句变成:
int x,y;
采用上面两个方法都可以让程序正常运行 。

推荐阅读