C语言编写分段函数C语言的题目 如图所示?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

【项目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将被重新赋徝由此产生错误!

参考资料

 

随机推荐