double类型的一些特殊取值是运行double类型算出-0.0的值的,在本题的测试用例中:4 0 0,就产生-0.0的输出,其实-0.0和0.0比较是相等的,为了避免出现这个问题需要特殊处理一下,和题目要求的结果保持一致。参考:https://zh.cppreference.com/w/c/language/arithmetic_types参考代码如下: #include <stdio.h> #include <math.h> int main() { double a = 0.0, b = 0.0, c = 0.0; while (3 == sca...