编程求解一元二次方程c
Ⅰ 怎样用C语言编一个解一元二次方程的程序(可以看步骤)!
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, b, c; //定义一元二次方程的三个数值;
printf("请依次输入一元二次方程的三个参数a b c,中间以空格隔开\n");
scanf("%d %d %d", &a, &b, &c); //依次输入一元二次方程的三个参数
double delta = b*b - 4*a*c; //定义delta的值为b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta>0) //delta大于0时,方程有两个解
{
printf("一元二次方程有两个解\n");
printf("一元二次方程的第一个解,x1 = %f\n",x1);
printf("一元二次方程的第二个解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有两个相同的解
{
printf("一元二次方程有两个相同的解\n");
printf("一元二次方程的解为x1 = x2 =%f\n",x1);
}
else //delta小于0时,方程没有解
{
printf("一元二次方程没有解\n");
}
return 0;
}
Ⅱ C语言编写一个程序求解一元二次方程ax2+bx+c=0的根。要求系数a,b,c从键盘输入在实数范围
下面是求解一元二次方程的C语言代码:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, x1, x2, disc;
printf("请输入一元二次方程的系数a, b, c: ");
scanf("%lf %lf %lf", &a, &b, &c);
disc = b * b - 4 * a * c;
if (disc > 0) {
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
printf("方程的两个实根为: x1=%.2f, x2=%.2f\n", x1, x2);
} else if (disc == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有两个相等的实根: x1=x2=%.2f\n", x1);
} else {
printf("方程无实根\n");
}
return 0;
}
在运行程序时,用户需要从键盘输入方程的系数a, b, c,程序会自动计算辩手并输出方程的根。其中,如果判别式disc大于0,说明方程有逗蠢两个不相等的实根;如果判别式等于0,说明方程有两个相等的实根;山灶陪如果判别式小于0,说明方程无实根。