int GetRoot(float a, float b, float c ,double* root){ double delta, deltasqrt ; delta = b* b - 4*a*c ; if(delta<0) return 0 ; deltasqrt = sqrt(delta) ; if (a!=0.0){ root[0] = (deltasqrt - b)/(2.0*a) ; root[1] = (-deltasqrt - b)/(2.0*a) ; } if (root[0] == root[1]) return 1; else return 2 ; } int main(void){ //计算方程的根 float a = 2.0,b =6.0,c=3.0 ;//a,b,c s是参数 double root[2] ;//root是得到的两个根 int n = GetRoot(a,b,c,root) ; if (n<1){ printf("方程无根") ; }else{ printf("方程的解为:%f,%f",root[0],root[1]) ; } }