酷代码 AI
菜单
服务商

本题目要求一元二次方程ax 2 +bx+c=0的根,结果保留2位小数。(注意:0.00会在gcc下被输出为-0.00,需要做特殊处理,输出正确的0.00。) 输入格式: 输入在一行中给出3个浮点系数a、b、c,中间用空格分开。 输出格式: 根据系数情况,输出不同结果: 1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小; 2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的; 3)如果方程只有一个根,则直接输出此根; 4)如果系数都为0,则输出"zero equation"; 5)如果a和b为0,c不为0,则输出"not an equation"。

以下是使用 C 语言解决此问题的代码: ```c #include <stdio.h> #include <math.h> int main() { double a, b, c; scanf("%lf %lf %lf", &a, &b, &c); if (a == 0 && b == 0 && c == 0) { printf("zero equation\n"); return 0; } if (a == 0 && b == 0 && c!= 0) { printf("not an equation\n"); return 0; } double delta = b * b - 4 * a * c; if (delta > 0) { double x1 = (-b + sqrt(delta)) / (2 * a); double x2 = (-b - sqrt(delta)) / (2 * a); printf("%.2f\n", x1); printf("%.2f\n", x2); } else if (delta == 0) { double x = -b / (2 * a); printf("%.2f\n", x); } else { double realPart = -b / (2 * a); double imagPart = sqrt(-delta) / (2 * a); printf("%.2f+%.2fi\n", realPart, imagPart); printf("%.2f-%.2fi\n", realPart, imagPart); } return 0; } ``` [2024-10-26 22:41:36 | AI写代码神器 | 345点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]