2
1. `#include <iostream>` 和 `#include <math.h>` 是 C++ 标准库的头文件,用于输入输出和数学计算。
2. `using namespace std;` 声明使用标准命名空间,这样我们可以直接使用标准库中的函数和对象,而不需要使用 `std::` 前缀。
3. `signed main()` 是程序的入口函数,它的返回类型为 `signed int`。
4. 声明了四个变量 `a, b, c, d`,分别代表一元二次方程的三个系数和判别式。
5. `while (scanf("%lf %lf %lf", &a, &b, &c) != EOF)` 是一个循环,用于反复读取输入,直到输入结束。
6. `d = b*b - a*c*4;` 计算一元二次方程的判别式。
7. 使用一系列的条件语句来判断方程的类型和解,并进行相应的输出。
- 如果 a 等于 0,输出 "Not quadratic equation"。
- 如果 a 不等于 0,根据判别式 d 的值进行不同的输出。
- 如果 d 等于 0,且 b 不等于 0,计算并输出相等实根。
- 如果 d 等于 0,且 b 等于 0,输出 x1=x2=0.00。
- 如果 d 大于 0,计算并输出两个实根。
- 如果 d 小于 0,计算并输出两个复数根。
8. 循环回到第 5 步,继续读取下一组输入,直到输入结束。
9. `return 0;` 表示程序正常结束。