用switch语句编写求一元二次方程的解的方程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用switch语句编写求一元二次方程的解的方程相关的知识,希望对你有一定的参考价值。

#include "math.h"
#include "stdio.h"
main()

double a,b,c,d,flag,x1,x2,p,q;
printf("输入方程的三个系数a,b,c=?");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(fabs(a)<=1.0e-6) flag=1;
else if(fabs(d)<=1.0e-6) flag=2;
else if(d>1.0e-6) flag=3;
else flag=4;
switch(flag)

case 1:printf("方程不是一个二次方程。\n");
break;
case 2:printf("方程有两个相等的实数根: \n x1,x2=%f\n",x1,x2);
break;
case 3:x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("方程有两个不相等的实数根: \n x1,x2=%f\n",x1,x2);
break;
case 4:
p=-b/(2*a);
q=sqrt(-d)/(2*a);
printf("方程有两个共轭复数: \n");
printf("x1=%f + %f \n",p,q);
printf("x1=%f - %f \n",p,q);
break;


错在那里

正确代码为:#include "math.h"
#include "stdio.h"int main(void)

double a,b,c,d,x1,x2,p,q;
int flag;

printf("输入方程的三个系数a,b,c=?");
scanf("%lf,%lf,%lf", &a, &b, &c);

d = b * b - 4 * a * c;

if(fabs(a) <= 1.0e-6)

flag=1;

else if(fabs(d) <= 1.0e-6)

flag=2;

else if(d > 1.0e-6)

flag=3;

else

flag=4;


switch(flag)

case 1:

printf("方程不是一个二次方程。\n");

break;

case 2:

x1 = (-b + sqrt(d)) / (2 * a);
x2 = x1;

printf("方程有两个相等的实数根: \n x1 = x2 = %lf\n", x1);

break;

case 3:

x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);

printf("方程有两个不相等的实数根: \nx1 = %lf\nx2 = %lf\n",x1,x2);

break;

case 4:

p = -b / (2 * a);
q = sqrt(-d) / (2 * a);

printf("方程有两个共轭复数: \n");
printf("x1 = %lf + %lf \n", p, q);
printf("x1 = %lf - %lf \n", p, q);

break;



return 0;
注:由于时间关系,注释就没写了,建议回去再看一下switch的运用。愿能解决你的问题,编译一下吧!祝你好运。
参考技术A scanf("%f,%f,%f",&a,&b,&c);改为scanf("%lf,%lf,%lf",&a,&b,&c);double型输入用%lf格式符
变量flag类型变为int;传递给switch()的值必须是有最终结果的整型变量或表达式
将double a,b,c,d,flag,x1,x2,p,q;改为下面两行:
double a,b,c,d,x1,x2,p,q;
int flag;
输入a,b,c时不要忘记中间的“,”。

用python求一元二次方程的解

编程最好的方法就是实践,当你能处理绝大多数例子之后,你会发现很多难懂的概念也就自然的解决了。python编程最好的方法就是实践,当你能处理绝大多数例子之后,你会发现很多难懂的概念也就自然的解决了。

一元二次方程为:ax^2+bx+c=0

我们先编写一个最简单的版本,我们成功的计算除了数值。下面这个程序不适合复数形式

参考技术A 这个,你可以定义一个函数,然后将相应的参数输入进去就行了,最多也就是四个参数,因为公式里面就用了三个数,直接套公式就行啦。 参考技术B 求一元二次方程的解来说的话,就是用这个公式带入进去就可以求出来的。

以上是关于用switch语句编写求一元二次方程的解的方程的主要内容,如果未能解决你的问题,请参考以下文章

编写一个程序,求二元一次方程组的解

紧急求助:matlab求解唯一解的齐次线性方程组

非齐次线性方程组有唯一解怎么求

求指教:Python怎样分别输出方程组的解?

用python求一元二次方程的解

Python编写“求一元二次方程的解”