酷代码 AI
菜单

用c输出:读入 的值, 解一元二次方程 ,也就是求出 的值。 提示:可以用一元二次方程的根的判别式 来求方程的解; 令 如果 , 存在两个不同的解,分别为: , ; 如果 , 存在一个解: ; 如果 , 无解。 输入 读入三个浮点数分别为 . 输出 如果存在两个解,按照下面的格式输出: x1=? x2=? 如果存在一个解,按照下面的格式输出: x1=? 如果不存在解,输出: "No answer" 结果保留两位小数. 样例输入 复制 1 -4 3 样例输出 复制 x1=1.00 x2=3.00

以下是用 C 语言实现上述功能的代码: ```c #include <stdio.h> #include <math.h> int main() { double a, b, c; // 读入三个浮点数 a, b, c scanf("%lf %lf %lf", &a, &b, &c); // 计算判别式 delta double delta = b * b - 4 * a * c; if (delta > 0) { // 当 delta 大于 0 时,存在两个不同的解 double x1 = (-b + sqrt(delta)) / (2 * a); double x2 = (-b - sqrt(delta)) / (2 * a); // 输出两个解,保留两位小数 printf("x1=%.2lf x2=%.2lf", x1, x2); } else if (delta == 0) { // 当 delta 等于 0 时,存在一个解 double x1 = -b / (2 * a); // 输出一个解,保留两位小数 printf("x1=%.2lf", x1); } else { // 当 delta 小于 0 时,无解 printf("No answer"); } return 0; } ``` 代码解释: 1. 输入部分:使用 `scanf` 函数读入三个浮点数 `a`, `b`, `c`,分别代表一元二次方程 `ax^2 + bx + c = 0` 的系数。 2. 计算判别式:根据公式 `delta = b * b - 4 * a * c` 计算判别式的值。 3. 判断解的情况: - 当 `delta > 0` 时,方程有两个不同的解,使用求根公式计算两个解 `x1` 和 `x2`,并使用 `printf` 函数输出,保留两位小数。 - 当 `delta == 0` 时,方程有一个解,使用求根公式计算解 `x1`,并使用 `printf` 函数输出,保留两位小数。 - 当 `delta < 0` 时,方程无解,使用 `printf` 函数输出 `"No answer"`。 复杂度分析: - 时间复杂度:$O(1)$,因为只进行了常数级的计算。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-10 22:12:47 | AI问答 | 573点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多