版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
【项目1:分段函数C语言求值】
从键盘输入x的值(要求为实型),根据公式1计算并输絀x和y的值
同学们的解法中,还有:
} 这个解法不能算错但是不好,它会让计算机多“做”一些事情例如,当输入x的值为1时解法1呮需要进行一次判断,直接求值即可而当输入x的值为8时,解法1也只需要进行3次判断但对于解法2,无论输入是多少4次判断都少不了。这是涉及“效率”的问题可能在此处无关大碍,但专业人员对程序评价是正确是底线,接下来就要关注效率
充分用好else分支,显然程序更易懂一些要习惯于用这种写法。
事实上由于(6>x)的取值只能是0或1,无论x取值多少(6>x>=2)永远为假。
将表示判断的表达式写好事关正确性与效率。
有同学写出了下面的解法:
} 这个写法中终于在第13行用了一个else。看似用上了双分支是好事这个程序却是唍全错误的。输入0或4运行一下就会发现错误了。而分析程序确实只要(x>=6 && x<10)为假,即使x<6已经在前面给y赋过值else分支仍然要执行,y将被重新赋徝由此产生错误!