传闻这道简单猥琐的面试编程题令无数求职应试者饮恨而归,不信你可以试一试,知道秘密的同学不急着点破,答案过会儿揭晓。。
请用C语言编写完成以下函数,该函数实现了如下功能:调用者调用此函数,此函数提示由三条边e1, e2, e3是否构成三角形或者构成等腰三角形或者构成等边三角形。 void checkTriangle(double e1, double e2, double e3){}
公布答案。 还记得大一上程序设计基础课时陈老师的提醒不?两个浮点数比较相等,不使用等于,而是abs(d1 - d2) <= EPSILON。所以,d1 > d2是 d1 - d2 > EPSILON,d1 < d2是d1 - d2 < -EPSILON。 几乎每个学过编程的都做过int版本的checkTriangle(),知道要测试负边长与零边长。然后很开心地将int版本的代码原封不动搬过来了,然后悲剧发生了。。。 这个故事再次告诉我们一个简单朴素的道理,叫做细节决定成败。--
转自:http://qing.weibo.com/1172357392/45e0c110330021no.html