C语言计算分段函数
修改后的代码如下:
#include<stdio.h>
int main(void)
{
double x,y;//定义两个双精度实型变量
printf("Enterx(x>=0):\n");//输入提示
scanf("%lf",&x); //调用scanf函数输入数据
if(x<=15){
y=4*x/3;
}
else{
y=2.5*x-10.5;
}
printf("f(%f)=%.2f\n",x,y); //输出结果
return 0;
}
简单分段函数用多路分支与if else 级联的写法
一、简单分段函数
f(x)= -1 ( X<0 )
0 (X=0)
2x (X>0)
二、代码
1、多路分支代码
int main()
{
int i;
double x,y;
scanf("%lf",&x);
i=1*(x<0)+2*(x==0)+3*(x>0);
switch(i)
{
case 1:y=-1;printf("%0.2f\n",y);break;
case 2:y=0;printf("%0.2f\n",y);break;
case 3:y=2*x;printf("%0.2f\n",y);break;
}
return 0;
}
2、级联if else 代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
double x,f;
scanf("%lf",&x);
if (x<0){
f=-1;
}
else if(x==0){
f=0;
}
else if(x>0){
f=2*x;
}
printf("%0.2f",f);
}
代码思路及注意事项
1、switch()里是可以运行整数型,在分段函数f(x)中无法保证x,y为整数型,则需要引入中间变量,将分段函数的条件转换为整数型
2、当x小于0时,i的值为1,则case 1里内容对应分段函数第一段;以此类推,最后一个条件可用case3,也可用dafault代替。
三、代码及运行结果
1、多路分支
2、if else 级联
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。