1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > C语言求解二元一次方程代码

C语言求解二元一次方程代码

时间:2019-05-14 05:42:07

相关推荐

C语言求解二元一次方程代码

/**

* 求解方程 ax平方+bx+c = 0的解

* 使用b的平方-4ac=0临界点来判断是否实根的情况

*/

#include <stdio.h>

#include <math.h>

int test4(){

double a,b,c,disc,x1,x2,realpart,imagpart;

scanf("%lf,%lf,%lf",&a,&b,&c);//输入参数

printf("a=%4.2lf,b=%4.2lf,c=%4.2lf",a,b,c);//打印

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

printf("disc=%8.2lf\n",disc);

if(fabs(disc)<=1e-6){/*r如果结果等于0 计算并输出结果 两个相等的实根*/

printf("has two equals roots:%8.4lf\n",-b/(2*a));

}else if (disc>1e-6){//倘若结果大于零 输出两个不相等的实根

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

x2 = (-b-sqrt(disc))/2*a;

printf("has distinct real roots:%8.4lf and %8.4lf\n",x1,x2);

}else{//如果结果等于0 则输出两个共轭的复根

realpart = -b/(2*a);

imagpart = sqrt(-disc)/(2*a);

printf("has complex roots:\n");

printf("%8.4lf + %8.4lf i \n",realpart,imagpart);

printf("%8.4lf - %8.4lf i \n",realpart,imagpart);

}

}

输入 2,4,2

运行结果为:has two equals roots -4

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。