C语言:一元二次方程解的所有情况
从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根,当a=0时,输出“该方程不是一元二次方程”,当a≠0时,分b2−4ac>0、b2−4ac=0、b2−4ac<0三种情况计算并输出方程的根。
**输入格式要求:"%f,%f,%f" 提示信息:"Please enter the coefficients a,b,c:"
**输出格式要求:"It is not a quadratic equation!\n" "x1 = x2 = %.2f\n" "x1 = %.2f, x2 = %.2f\n"
"x1 = %.2f+%.2fi, " "x2 = %.2f-%.2fi\n"
程序运行示例1如下:
Please enter the coefficients a,b,c:0,10,2
It is not a quadratic equation!
程序运行示例2如下:
Please enter the coefficients a,b,c:1,2,1
x1 = x2 = -1.00
程序运行示例3如下:
Please enter the coefficients a,b,c:2,3,2
x1 = -0.75+0.66i, x2 = -0.75-0.66i
变量定义为float类型,精度要求为1e-6,即
#define EPS 1e-6
1 #include<stdio.h> 2 #include<math.h> 3 #define EPS 1e-6 4 main() { 5 float a, b, c, d, x1, x2, i; 6 printf("Please enter the coefficients a,b,c:"); 7 scanf("%f,%f,%f", &a, &b, &c); 8 d = b * b - 4 * a * c; 9 if (fabs(a)<=0) 10 printf("It is not a quadratic equation!\n"); 11 else 12 { 13 if (d<0) 14 { 15 x1 = -b / (2 * a); 16 i = sqrt(-d) / (2 * a); 17 printf("x1 = %.2f+%.2fi," , x1, i); 18 printf("x2 = %.2f-%.2fi\n" , x1, i); 19 } 20 else if (fabs(d) > EPS) 21 { 22 x1 = (-b + sqrt(d)) / (2 * a); 23 x2 = (-b - sqrt(d)) / (2 * a); 24 printf("x1 = %.2f, x2 = %.2f\n", x1, x2); 25 } 26 else if (fabs(d)<=EPS) 27 printf("x1 = x2 = %.2f\n", -b / (2 * a)); 28 } 29 30 }
分类:
C语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具