怎样用C语言编一个解一元二次方程的程序(可以看步骤)?
怎么用C语言编写一个一元二次方程的程序
#include <stdio.h>
#include <math.h>//包含 sqrt()函数,求平方根
int main()
{
double a,b,c,disc,x1,x2,p,q;//定义为double类型,满足计算精度要求
printf("Please enter a,b,c in order:\n");//提示用户输入
scanf("%lf%lf%lf",&a,&b,&c);//注意用 %lf
disc=b*b-4*a*c;
if(disc<0)//判断是否有根
printf("This question hasn't real roots\n");
else
{
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;
x2=p-q;
printf("real root:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);
}
return 0;
}
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言,求方程式ax2+bx+c=0的根?
方程式ax^2+bx+c=0的根可以通过求解一元二次方程公式得到,即:
x = (-b ± sqrt(b^2 - 4ac)) / 2a
其中,a、b、c分别代表方程式中的系数。其中,如果b^2 - 4ac小于0,则方程没有实数根,如果b^2 - 4ac等于0,则方程有一个实数根,如果b^2 - 4ac大于0,则方程有两个实数根。
C语言代码如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, disc, root1, root2;
printf("请输入方程的系数a、b、c:");
scanf("%!l(MISSING)f %!l(MISSING)f %!l(MISSING)f", &a, &b, &c);
disc = b * b - 4 * a * c; // 判别式
if (disc < 0) {
printf("方程无实数根。\n");
} else if (disc == 0) {
root1 = root2 = -b / (2 * a);
printf("方程有一个实数根 x = %!l(MISSING)f\n", root1);
} else {
root1 = (-b + sqrt(disc)) / (2 * a);
root2 = (-b - sqrt(disc)) / (2 * a);
printf("方程有两个实数根 x1 = %!l(MISSING)f, x2 = %!l(MISSING)f\n", root1, root2);
}
return 0;
}
```
在上述代码中,使用scanf函数接收用户输入的系数a、b、c,然后根据判别式的值计算方程的根,最后使用printf函数输出结果。

