求一元二次方程的根

来源:互联网 发布:mac ubuntu 双系统 编辑:程序博客网 时间:2024/05/01 11:38

一元二次方程是我们高中时候学的简单地知识。比如K*x^2+B*x+C = 0

有三个未知数,K,B,C

例如:k = 1,b = -2;方程的两个实根分别为x1 = 1.00,x2 = 1.00

一元二次方程的求根公式如下:

不复习基础知识我都差点忘了虚根的求法了~~~



程序实现:

#include <stdio.h>#include <stdlib.h>#include <math.h>#include <conio.h>void main(){float k = 0,b = 0,c = 0;printf("求一元二次方程的根,比如kx^2+bx+c=0.  请输入三个数\n");printf("一定要注意,三个数之间用逗号隔开,不能有空格喔!\n");scanf("%f,%f,%f",&k,&b,&c);printf("三个数分别为:%f,%f,%f\n",k,b,c);int deta = b*b - 4*k*c;;float x1,x2;float re,im;printf("方程的根为x1和x2,且:\n");if (deta >= 0){x1 = (-b+sqrt(b*b-4*k*c))/2*k;x2 = (-b-sqrt(b*b-4*k*c))/2*k;printf("x1 = %f,\t x2 =%f\n",x1,x2);printf("\n");}else{re = -b/(2*k);im = (4*k*c-b*b)/(2*k);printf("x1 = %6.2f + %6.2fi",re,im);printf("x1 = %6.2f - %6.2fi",re,im);printf("\n");}getch();}
结果为:




0 0
原创粉丝点击