006. 輸入 A, B, C, 求 AX^2 + BX + C = 0 的解
原發表者:jefferylee
原發表者:rclrn
原發表者:andyeric
原發表者:zoe
在此感謝當年在數位高手(NBP)分享的朋友,本人將資料彙整於此並盡量將當初發表者名稱註記。
原發表者:jefferylee
#include<iostream>
#include<math.h>
using namespace std;
void main(void)
{
double a,b,c,d;
cout<<"一元二次方程式 AX^2 + BX + C = 0 求解: "<<endl<<"A=";
cin>>a;
cout<<"B= ";
cin>>b;
cout<<"C= ";
cin>>c;
d=pow(b,2)-4*a*c;
if(d<0)
cout<<"該方程式無實根. "<<endl;
else
{
if(d==0)
cout<<"該方程式有一重根: "<<-b/(2*a)<<endl;
else
cout<<"該方程式有兩實根, 分別是: "<<endl
<<(-b+sqrt(d))/(2*a)<<"以及"<<endl
<<(-b-sqrt(d))/(2*a)<<endl;
}
}
原發表者:rclrn
//6.輸入 A, B, C,求 AX^2 + BX + C = 0 的解。
//compiled by Borland C++ Builder 6
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a = 0.0, b = 0.0, c = 0.0;
cout << "輸入 a b c,解AX^2 + BX + C = 0: ";
cin >> a >> b >> c;
double d = b*b - 4*a*c;
if(d > 0)
cout << "方程式有二相異實根,"
<< (-b + sqrt(d)) / 2 / a << "及"
<< (-b - sqrt(d)) / 2 / a << endl;
else if(d == 0)
cout << "方程式有一重根" << -b / 2/ a << endl;
else
cout << "方程式無實根" << endl;
system("pause");
return 0;
}
原發表者:andyeric
/*006. 輸入 A, B, C, 求 AX^2 + BX + C = 0 的解.*/
#include <iostream.h>
#include <math.h>
#include <conio.h>
int main()
{
double a,b,c,d;
cout<<" 輸入 A, B, C, 求 AX^2 + BX + C = 0 的解 "<<endl;
cout<<"A=";
cin>>a;
cout<<"B=";
cin>>b;
cout<<"C=";
cin>>c;
d=b*b-4*a*c;
if(d>0)
cout<<"有兩根"<<(-b+sqrt(d))/2/a<<","<<(-b-sqrt(d))/2/a<<endl;
else if(d==0)
cout<<"有一重根"<<-b/2/a;
else
cout<<"沒有實根"<<endl;
getch();
return 0;
}
原發表者:zoe
/* 輸入 A, B, C,求 AX^2 + BX + C = 0 的解。 */
#include <stdio.h>
#include <math.h>
main()
{
double A, B, C, D, tmp, X[2];
scanf("%lf %lf %lf", &A, &B, &C);
D = B * B - 4 * A * C;
if ( D >= 0 )
tmp = sqrt(D);
if ( D > 0 ) /* 兩相異實根 */
{
X[0] = ( - B + tmp ) / ( 2 * A );
X[1] = ( - B - tmp ) / ( 2 * A );
printf("X = %lf, %lf\n", X[0], X[1]);
}
else if ( D == 0 ) /* 重根 */
{
X[0] = ( - B ) / ( 2 * A );
printf("X = %lf\n", X[0]);
}
else /* 虛根 */
{
tmp = sqrt(-D);
X[0] = ( -B ) / ( 2 * A );
tmp /= 2 * A;
printf("X = %lf + %lfi, %lf - %lfi\n", X[0], tmp, X[0], tmp);
}
}
在此感謝當年在數位高手(NBP)分享的朋友,本人將資料彙整於此並盡量將當初發表者名稱註記。
文章標籤
全站熱搜

#include
#include
#include
int main()
{
double a,b,c,d1,d2,d3,r;
printf("一起來解一元二次方程式\n");
printf("===========================================================================\n");
printf("輸入二次方係數\n");
scanf("%lf",&a);
printf("輸入一次方係數\n");
scanf("%lf",&b);
printf("輸入零次方係數\n");
scanf("%lf",&c);
if(a==0&&b==0&&c==0)
{
printf("\n一元二次方程式不成立\n");
}
else if(a==0)
{
printf("%.2lfx+%.2lf\n",b,c);
}
else if(b==0)
{
printf("%.2lfx^2+%.2lf\n",a,c);
}
else if(c==0)
{
printf("%.2lfx^2+%.2lfx\n",a,b);
}
else{
printf("%.2lfx^2+%.2lfx+%.2lf",a,b,c);
}
d1=(b*b-4*a*c);
if(d1>0)
{
printf("\n一元二次方程有兩個不同的實數根\n");
d2=(-b+sqrt(d1))/2*a;
d3=(-b-sqrt(d1))/2*a;
printf("x=%.2lf,%.2lf\n",d2,d3);
}
else if(d1==0)
{
printf("\n一元二次方程有兩個相等的實數根\n");
d2=(-b+sqrt(d1))/2*a;
d3=(-b-sqrt(d1))/2*a;
printf("x=%.2lf,%.2lf\n",d2,d3);
}
else if(d1<0)
{
printf("一元二次方程有兩個不同的複數根\n");
r=-b/(2*a);
d2=sqrt(-d1)/2*a;
printf("x1=%.2lf+%.2lfi,x2=%.2lf-%.2lfi",r,d2,r,d2);
}
system("pause");
return 0;
}