求大神c语言通过键盘输入一元二次方程的三个系数,abc的值,假设b2-4ac≥0 ,求它的方程根。

作者&投稿:泊香 (若有异议请与网页底部的电邮联系)
用C++写个解一元二次的方程 输入3系数abc(整数或者双精度数)~

//#include "stdafx.h"//vc++6.0加上这一行.#include #include "math.h"double b2_4ac(double a,double b,double c){ return b*b-4*a*c;}double _bby2(double b){ return -b/2;}double square_root_by2(double a,double b,double c){ return sqrt(b2_4ac(a,b,c))/2;}int main(void){ double a,b,c,tmp; while(1){ cout > a >> b >> c)) return 0; if(a){ if((tmp=b2_4ac(a,b,c))0){ cout << setprecision(4); cout << "x1 = " << _bby2(b)/a+square_root_by2(a,b,c)/a << endl; cout << "x2 = " << _bby2(b)/a-square_root_by2(a,b,c)/a << endl; } else cout << "x = " << _bby2(b)/a << endl; } else cout << "The input is invalid!
"; } return 0;}

我也刚学C,费了好几个小时,终于把这个问题搞定了!
已经运行过了,结果跟谭版结果一样,敬请放心使用。
#include "stdio.h"
#include "math.h"
void main()
{ double a,b,c,x1,x2,disc,p,q;
printf("please input a,b,c:
");
scanf("%lf,%lf,%lf",&a,&b,&c);
if (fabs(a)<1e-6)
printf("The equation is not a quadratic");
else
{ disc=b*b-4*a*c;
if (disc<0)
{
p=-b/(2*a);
q=sqrt(-disc)/(2*a);
printf("The equation has two complex roots:
");
printf ("%8.4f+%8.4f i
",p,q);
printf ("%8.4f-%8.4f i
",p,q);
}
else
if (fabs(disc)<1e-6)
printf("the equation has two equal roots:%8.4f
",-b/(2*a));
else
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("The equation has distinct real roots:%8.4f and %8.4f
",x1,x2);
}
}
}

源程序:

判别式为0时求解方程




根据源程序,求解网上的一元二次方程:

这道题的a=-10;b=40,c=320,回答的两个解是8或-4。

判别式大于0和用数学方法计算一样

证明答案准确。



求助C语言,从键盘输入一指定金额(以元为单位,如345.78),然后显示支...
答:i=(int)((num-a*100-b*50-c*10-d*5-e*2-f*1-g*0.5-h*0.1)*20)/5;j=(int)((num-a*100-b*50-c*10-d*5-e*2-f*1-g*0.5-h*0.1-i*0.05)*100);printf("100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各有%d,%d,%d,%d,%d,%d,%d,%d,%d,%d张...

c语言如何从键盘输入一指定金额(以元为单位),然后显示支付该金额的各...
答:i=(int)((num-a*100-b*50-c*10-d*5-e*2-f*1-g*0.5-h*0.1)*20)/5;j=(int)((num-a*100-b*50-c*10-d*5-e*2-f*1-g*0.5-h*0.1-i*0.05)*100);printf("100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各有%d,%d,%d,%d,%d,%d,%d,%d,%d,%d张...

c语言编程,输入金额,输出并显示用100,50,20,10,5,1块钱 各需要多少张...
答:include <stdio.h>int main(){ int type[] = {100, 50, 20, 10, 5, 1}, nu = 6; int cash, i; scanf ("%d", &cash); for (i = 0; i < nu; ++i){ printf ("%d:%d\n", type[i], cash/type[i]); cash %= type[i]; } return 0;} 程...

c语言编程 求一元二次方程的实数根。ax^2+bx+c=0,abc均由键盘读入。
答:} else { p[0]=0; p[1]=0; }}int main(){ float a, b, c,v; float x[2]={0};//用保存结果 scanf("%f%f%f", &a, &b, &c); v = b*b - 4 * a*c; if (v >= 0)//不管是实数解是否相等,直接输出 //如果非要在意两个解相等...

C语言 输入a,b,c求一元二次方程解,编译没错,但无论输入什么值运行的结...
答:include <stdio.h># include <math.h>int main ( ){ float a, b, c; double delta, x1, x2; scanf ("%f,%f,%f",&a, &b, &c);//a,b,c定义的是int对应的输入格式应该是%d,如果要用实数,则a,b,c应该定义为%f,且输入的时候要用逗号隔开 delta = b*b - 4*a*c; if (...

c语言编程输入abc输出一元二次方程ax^2+bx+c的根,,求大神编程,,if语句...
答:include <stdio.h>#include <math.h>int main(){ float a, b, c, d, r1, r2; scanf("%f%f%f", &a, &b, &c); d = b * b - 4 * a * c; if (d > 0) { r1 = (-b + sqrt(d)) / (2 * a); r2 = (-b - sqrt(d)) / (2 * a); printf("解:%f,...

如何用C语言实现一元多项式简单计算器的设计
答:如何用C语言实现一元多项式简单计算器的设计 〔问题描述〕输入并建立两个多项式并输出多项式设计一个程序:对两个多项式进行加、减法及乘法运算,建立一个新多项式并输出.或设计一个程序对其中一个多项式求导。〔实现提示〕选择带... 〔问题描述〕输入并建立两个多项式并输出多项式设计一个程序:对两个多项式进行加、...

急!!c语言一元一次方程求解
答:急!!c语言一元一次方程求解 5 1.NCL是一个专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算机...为了很好地完成这个任务,ZL先生首先研究了一些一元方程的实例:4+3X=86a-5+1=2-2a5+12Y=0ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只...

编程计算一元二次方程的实根,a,b,c由键盘输入,设b*b
答:main(){ //定义变量 float a,b,c,disc,x1,x2,p,q;//等待输入a、b、c scanf("a=%f,b=%f,c=%f",&a,&b,&c);//b的平方-4ac disc=b*b-4*a*c;//公式计算。。p=-b/(2*a);//公式计算。。q=sqrt(disc)/(2*a);//得到两个值的一个,x1 x1=p+q;//得到两个值的一个...

编程求一元二次方程ax2+bx+c=0的实数根x1,x2,a,b,c的值由键盘输入
答:C语言源程序如下:include <stdio.h> include <math.h> void main(){ float a, b, c, x1, x2;printf("请输入a, b, c的值:");scanf("%f%f%f", &a, &b, &c);if (b*b - 4*a*c <= 0)printf("输入的系数不对,b2-4ac不大于0!程序退出!\n");else { x1 = (-b + ...