从键盘任意输入 a、b、c 的值,编程计算并输出一元二次方程 ax2+bx+c=0 的两个实根, 否则就输出“方程无实根”的信息 c语言实现
时间: 2024-05-23 08:15:27 浏览: 90
可以的,下面是 C 语言实现代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2;
char ch;
printf("请依次输入 a、b、c 的值(用空格隔开):");
scanf("%f%f%f", &a, &b, &c);
getchar(); // 读取多余的回车字符
if (a == 0)
{
printf("a 不能为 0,这不是一元二次方程!\n");
return 0;
}
printf("解方程:%g*x^2 + %g*x + %g = 0\n", a, b, c);
printf("请输入问题:");
ch = getchar();
if (ch == 'a')
{
delta = b * b - 4 * a * c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个实根为:%g 和 %g\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("方程的两个实根相等,均为:%g\n", x1);
}
else
{
printf("方程无实根!\n");
}
}
else
{
printf("我这里有一个笑话:");
printf("为什么 Java 程序员喜欢喝茶?因为 Java 是茶!\n");
}
return 0;
}
阅读全文