编程求解一元二次方程 方程中的实数根,其系数a、b、c从键盘输入
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
if a != 0:
delta = b**2-4*a*c
if delta < 0:
print("无根")
elif delta == 0:
s = -b/(2*a)
print("x=",s)
else :
root = math.sqrt(delta)
x1 = (-b+root)/(2*a)
x2 = (-b-root)/(2*a)
print("x1=",x1,"\t","x2=",x2)
完整代码如下,忘采纳
import math
print("请输入 a b c 用空格隔开 :")
a,b,c=map(int,input().split())
if a != 0:
delta = b**2-4*a*c
if delta > 0:
print("方程有两个不相等的实数根 : ", (-b + math.sqrt(delta)) / (2*a) , " , " , (-b - math.sqrt(delta)) / (2*a) )
elif delta == 0:
print("方程有一个实数根 : ", -b / (2*a))
else :
print("方程没有一个实数根")
else :
print("这个方程是一元方程")
#include <stdio.h>
#include <math.h>
int main(){
double a,b,c;
printf("请依次输入a b c用空格隔开");
scanf("%lf%lf%lf",&a,&b,&c);
double delt = b * b - 4*a*c;
if( delt > 0 ){
printf("方程有两个不相等的实数根 : %g , %g",(-b + sqrt(delt)) / (2 * a) ,(-b - sqrt(delt)) / (2 * a) );
} else if( delt == 0 ){
printf("方程有一个实数根 : %g ",(-b + sqrt(delt)) / (2 * a) );
} else {
printf("方程没有实数根");
}
}