除了 /2*a; 应该写成/(2*a)之外,没看出有错误。就算你写成了/2*a;也应该有小数才对。有点奇怪。#include #include int main() { double a, b, c, D,E,F,G; scanf("%lf,%lf,%lf", &a, &b, &c); D = b * b - 4*a*c; E=sqrt(D); F = (-b+E)/(2*a); G = (-b-E)/(2*a); printf("%7.4f, %7.4f", F, G);}