亲宝软件园·资讯

展开

C语言计算分段函数问题

「已注销」 人气:2

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 级联

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论