上机内容:C程序的编写和运行
上机目的:练习方程的求解问题
我的程序:
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,d,x1,x2,m,n;
scanf("%f%f%f",&a,&b,&c);
if(a==0)
{
if(b!=0)
{
printf("方程只有一解,解为:x=%f",-c/b);
}
else if(b==0&&c==0)
{
printf("方程解为任意值");
}
else if(b==0&&c!=0)
{
printf("方程无解");
}
}
if(a!=0)
{
d=b*b-4*a*c;
if(d>=0)
{
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
printf("方程有两个实根,分别为%.2f%.2f",x1,x2);
}
else
{
m=(-b)/(2*a);
n=sqrt(-d)/(2*a);
printf("%f+%f\n",m,n);
printf("%f-%f\n",m,n);
}
}
return 0;
}
运行结果:
心得体会:通过该方程的编写,在方程有两个虚根时遇到了些困难,就是不会求两个共轭复根,通过查找资料才找到了方法。