利用C语言进行常见的数学运算:一元二次方程求根
从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根 并保留两位小数
#include <stdio.h> //使用printf,scanf函数
#include <math.h> //使用sqrt(开平方)函数
int main()
{
float a, b, c; //定义浮点型变量,防止后续除法运算时,计算机截掉小数部分
float x1, x2;
while (scanf("%f %f %f", &a, &b, &c) != EOF) //循环判断本次输入是否结束,用于多行输入
{
float der = (b * b - 4 * a * c); //定义数学中德尔塔
if (a == 0)printf("Not quadratic equation"); //判断是否是一元二次方程
else {
if (der > 0) {
x1 = (-b) / (2 * a) - (sqrt(der) / (2 * a));
x2 = (-b) / (2 * a) + (sqrt(der) / (2 * a));
printf("x1=%.2f;x2=%.2f\n", x1, x2);
}
else if (der == 0) {
x1 = x2 = (-b) / (2 * a);
{
if (x1 == (-0.00)) {
printf("x1=x2=0.00\n");
}
else {
printf("x1=x2=%.2f\n", x1);
}
}
}
else if (der < 0) {
float s, y;
s = (-b) / (2 * a);
y = sqrt(-der) / (2 * a); //计算机无法对负数进行开平方运算
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", s, y, s, y); //输出时应手动添加数学意义上的虚部标识符‘i’
}
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架