设置一个程序,求ax2+bx+c=0的根,a,b,c由键盘输入。
时间: 2023-05-19 19:01:43 浏览: 48
以下是一个求解ax2+bx+c=0的根的程序,其中a、b、c由键盘输入:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, delta, x1, x2;
printf("请输入a、b、c的值:");
scanf("%lf%lf%lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0)
{
printf("方程无实根!\n");
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("方程有唯一实根:x1=x2=%.2lf\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实根:x1=%.2lf,x2=%.2lf\n", x1, x2);
}
return 0;
}
希望这个程序能够帮到你!
相关问题
用c语言编写程序求ax2+bx+c=0方程的根,其中a,b,c从键盘输入
以下是用C语言编写的求解ax2+bx+c=0方程根的程序:
```
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2;
printf("请输入a, b, c的值:\n");
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个实根为:x1=%.2f, x2=%.2f\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("方程的两个相等实根为:x1=x2=%.2f\n", x1);
}
else
{
printf("方程的两个虚根为:x1=%.2f+%.2fi, x2=%.2f-%.2fi\n", -b / (2 * a), sqrt(-delta) / (2 * a), -b / (2 * a), sqrt(-delta) / (2 * a));
}
return 0;
}
```
程序中先从键盘输入a、b、c的值,然后根据判别式delta的值来判断方程的根的情况,最后输出根的值。
用c语言编写程序求ax 2 +bx+c=0方程的根,其中a,b,c从键盘输入
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, discriminant, root1, root2;
printf("Enter coefficients a, b, c: ");
scanf("%f %f %f", &a, &b, &c);
discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("Roots are real and different.\n");
printf("Root1 = %.2f and Root2 = %.2f", root1, root2);
} else if (discriminant == 0) {
root1 = root2 = -b / (2 * a);
printf("Roots are real and same.\n");
printf("Root1 = Root2 = %.2f", root1);
} else {
float realPart = -b / (2 * a);
float imaginaryPart = sqrt(-discriminant) / (2 * a);
printf("Roots are complex and different.\n");
printf("Root1 = %.2f + %.2fi and Root2 = %.2f - %.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
注:%.2f表示保留两位小数输出。