C语言实现:根据输入解一元二次方程并输出结果
以下是用 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)$,只使用了常数级的额外空间。 ######[AI问答 | 573点数解答 | 2025-12-10 22:12:47]
- 易语言子程序 TriggerCode 代码详解:通配符查找与结果运算(字节豆包 | 607点数解答 | 2026-02-09 11:59:34)35
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)342
- Java 实现计算所需最少钱币张数和个数(字节豆包 | 590点数解答 | 2026-03-05 21:44:59)18
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++ 编程:计算黑衣人布袋中黄宝石总重量(字节豆包 | 132点数解答 | 2025-10-18 19:02:51)146
- C++程序:依据感应器数字输出能量痕迹与小队距离范围(DeepSeek | 88点数解答 | 2025-12-21 16:10:13)56
- 揭秘成都治水管水改革:五大机制闭环管理,技术报告助力供排水智能化优化(GPT | 372点数解答 | 2023-12-04 09:49:06)297
- 2020 年成都治水管水改革多管齐下:建“五大机制”、管网体检,编制报告提效供水排水 (讯飞星火 | 251点数解答 | 2023-12-04 09:49:34)282
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)354
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)367
- Java:实现图书馆管理系统功能及功能验证代码详解(讯飞星火 | 948点数解答 | 2024-07-03 15:59:02)635
- Java 图书馆管理系统功能设计与验证:增删改查全实现(GPT | 434点数解答 | 2024-07-03 16:23:46)393