【C语言】求方程ax^2+bx+c=0的根, a,b,c由键盘输入。
1 #include<stdio.h> 2 #include<math.h> 3 int main () 4 { 5 double a,b,c,d,p; 6 printf("请输入a,b,c 的值:"); 7 scanf("%lf%lf%lf",&a,&b,&c); 8 if(a==0) 9 printf("不是二次方程"); 10 else 11 { 12 d=b*b-4*a*c; 13 14 if(d==0) 15 { 16 printf("有两个相等的根\nx=%7.2lf\n",-b/(2*a)); 17 } 18 if (d>0) 19 { 20 printf("有两个不相等的根\nX1=%7.2lf\nX2=%7.2lf\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)); 21 } 22 if(d<0) 23 { 24 p=sqrt(-d/(2*a)); 25 printf("有两个共轭复根\nX1=%7.2lfi-%7.2lf\nX2=%7.2lfi-%7.2lf\n",p,b/2,-p,b/2); 26 } 27 } return 0; 28 }
代码成功写出来了,但是共轭复根真的是第一次见,公式只能参考度娘了,有错误请留言!