C语言练习:多种方法实现分段函数求值
本文通过一个分段函数讲解 多分支if语句 与 多个 if 语句 的区别
题目
方法一:使用多个if对x的范围进行判断
#include<stdio.h> #include<math.h> int main () { double x,y; //使用多个if对x的范围进行判断 scanf("%lf",&x); if(x<-3) y=x+1; if(x>=-3 && x<5) y=x*x+1; if(x>=5 && x<10) y=fabs(x-6); if(x>=10) y=1/(x+1); printf("%.2lf",y); return 0; }
方法二:使用多分支if语句
#include<stdio.h> #include<math.h> int main () { double x,y; scanf("%lf",&x); if(x<-3) //判断的入口,若满足条件,满足以下任一条件便结束判断 y=x+1; else if (x<5) //程序能够执行到这一句,自然已经满足x >= -3 y=x*x+1; else if(x<10) //程序能够执行到这一句,自然已经满足x >= -5 y=fabs(x-6); else 程序能够执行到这一句,说明x不满足之前的条件 y=1/(x+1); printf("%.2lf",y); return 0; }
总结
通过以上两种方法可以看出,方法二使用的多分支if语句更加简洁,,而方法一的程序存在对x的范围重复判断的问题。
多分支if语句的上下语句的衔接关系更强。正确的使用if语句可以做到化繁为简,同时也能锻炼我们的逻辑能力。
如有不足,欢迎指正。