西安建设商城类网站,微建站平台,哈尔滨定制网站建设,株洲市哪里有做公司官方网站文章目录 题目描述算法思路代码示例 题目描述
从键盘输入a, b, c的值#xff0c;编程计算并输出一元二次方程ax2 bx c 0的根#xff0c;当a 0时#xff0c;输出“Not quadratic equation”#xff0c;当a ≠ 0时#xff0c;根据△ b2 - 4ac的三种情况计算并输出方程… 文章目录 题目描述算法思路代码示例 题目描述
从键盘输入a, b, c的值编程计算并输出一元二次方程ax2 bx c 0的根当a 0时输出“Not quadratic equation”当a ≠ 0时根据△ b2 - 4ac的三种情况计算并输出方程的根。
输入描述 多组输入一行包含三个浮点数a, b, c以一个空格分隔表示一元二次方程ax2 bx c 0的系数。
输出描述 针对每组输入输出一行输出一元二次方程ax2 bx c 0的根的情况。 如果a 0输出“Not quadratic equation” 如果a ≠ 0分三种情况 △ 0则两个实根相等输出形式为x1x2…。 △ 0则两个实根不等输出形式为x1…;x2…其中x1 x2。 △ 0则有两个虚根则输出x1实部-虚部i;x2实部虚部i即x1的虚部系数小于等于x2的虚部系数实部为0时不可省略。实部 -b / (2a),虚部 sqrt(-△ ) / (2a)所有实数部分要求精确到小数点后2位数字、符号之间没有空格。
算法思路
要想使用c语言编写这个实例就需要知道数学上的公式。
一元二次方程表达式为a * x * x bx c 0其中a ≠ 0
根的判别式为Δ b * b - 4 * a * c
求根公式为
手动输入三个系数分别代表二次项系数、一次项系数、常数项
判断输入的二次项系数是否为0如果为0提示“输入的第一个值不合法请重新输入”
如果二次项系数不为0利用根的判别式计算一元二次方程是否有根
如果判别式 Δ 0 ,代表方程有两个根输出根
如果 Δ 0 ,提示“方程无根”。
代码示例
#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
#includemath.h
int main()
{float a, b, c;while (scanf(%f %f %f, a, b, c) ! EOF){double dt pow(b, 2) - 4 * a * c;if (a 0){printf(Not quadratic equation);}else{if (dt 0)//△0{double x1 (-b - sqrt(dt)) / (2 * a);double x2 (-b sqrt(dt)) / (2 * a);printf(x1x2%.2f, x1);}else if (dt 0)//△0{double x1 (-b - sqrt(dt)) / (2 * a);double x2 (-b sqrt(dt)) / (2 * a);printf(x1%.2f;x2%.2f, x1, x2);}else//△0{double real (-b) / (2 * a);//实部double imaginary sqrt(-dt) / (2 * a);//虚部printf(x1%.2f-%.2fi;x2%.2f%.2fi, real, imaginary, real, imaginary);}}printf(\n);}return 0;
}