#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }
現(xiàn)在讓我來(lái)和大家一起分享C語(yǔ)言簡(jiǎn)單編程之一元二次方程求解吧
材料/工具
C語(yǔ)言,電腦
一樓的程序有誤。數(shù)據(jù)類型錯(cuò)了。運(yùn)行的例子是剛巧“碰對(duì)了”。 不然的話輸入系數(shù):4 -4 -3就出錯(cuò)了。 應(yīng)作修改如下: 第5、7、14行改為: double a,b,c,d,x1,x2; scanf("%lf%lf%lf",&a,&b,&c); printf("x1 = %g , x2 = %gn",x1,x2);
方法
輸入# include
#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }
# include
對(duì)于如下的一元二次方程: ax*x+bx+c=0設(shè)計(jì)C語(yǔ)言程序,輸入一元二次方程的三個(gè)系數(shù)a、b、c,求解出該方程的兩個(gè)根,并且允許用戶在程序中多次輸入不同的系數(shù),以求解不同的一元二次方程的解。編程思路分析:對(duì)于該方程,令delta=b^2-4*a*c,從數(shù)
void main(void)
步驟: 打開(kāi)visual C++ 6.0-文件-新建-文件-C++ Source File 2. 定義變量: #include #include void main() { double a,b,c; /*定義系數(shù)變量*/ double x1,x2,p; /*定義根變量和表達(dá)式的變量值*/ 3.輸入系數(shù): printf("請(qǐng)輸入a,b,c:"); /*提示用
輸入void main(void)
#include main() { int s; float a,b,c; float temp;//計(jì)算b*b-4*a*c float num;//開(kāi)根號(hào) float x1,x2;//方程的根 printf("---------------歡迎進(jìn)入二元方程組計(jì)算系統(tǒng),輸入非0進(jìn)入,0退出---------------n"); scanf("%d",&s); while(s){ prin
{
double a,b,c,x1,x2;
#include #include void m(float a,float b,float c) { double x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,float b,float c) { double x; x=(-b)/(2*a);
cout<<"input a,b,c:";
您好!很高興為您解答。 原代碼中的scanf和printf中的%要放在d和lf的前面才對(duì),改正后運(yùn)算無(wú)誤~ #include #include void main () { double x1;//x1,x2分別為方程的2個(gè)解 double x2; double melt; int a; int b;//初始化ABC的三個(gè)變量 int c; pri
cin>>a>>b>>c;
#include #include using namespace std; int main() { for (int i=0;i>a>>b>>c; delta=b*b-4*a*c; p=-b/(2*a); q=sqrt(fabs(delta))/(2*a); if (delta>=0) cout
double s=b*b-4*a*c;
M宏不需要開(kāi)方,delta只是b*b-4*a*c,如果它大于等于0,再開(kāi)方才有意義.變量也應(yīng)該使用浮點(diǎn)數(shù)類型,修改如下: //--------------------------------------------------------------------------- #include #include #define M (b*b-4*a*c) /*注意這里
if(s>=o)
C語(yǔ)言編寫(xiě)一程序求解一元二次方程的根: #include #include void m(float a,float b,float c) { double x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,floa
輸入{
double sqrtVal=sqrt(s);
用C語(yǔ)言編寫(xiě)求一元二次方程根的程序,條件判斷的充分,步驟如下: void main(){float a,b,c,delta;scanf("%f%f%f",&a,&b,&c);if(a!=0){delta=b*b-4*a*c;if(delta==0)printf("x1=x2=%7.2f",-b/(2*a));else if(delta>0){printf("x1=%7.2f",(-b+sqr
x1=(-b+sqrtVal)/(2*a);
#include #include int main(void){ double a,b,c; double x1,x2,x,t,p,q printf("輸入一元二次方程的系數(shù)a,b,c:"); scanf("%lf %lf %lf",&a,&b,&c); t=b*b-4*a*c; if(a==0&&b==0&&c==0) printf("方程無(wú)窮解!n"); if(a==0&&b==0&&c!=0) printf(
x2=(-b-sqrtVal)/(2*a);
#include#includevoid main(){ double a,b,c,d,x1,x2; /*sqrt要求用double型,定義用double,另外double和后面變量之間要有空格*/ printf("請(qǐng)輸入系數(shù)a、b、c:"); scanf("%lf%lf%lf",&a,&b,&c); /*&b和&c之間要有逗號(hào)*/ d=b*b-4*a*c; x1=(-b+sqr
cout<<"x1="<cout<<"x2="<}
#include #include void main() { double a,b,c,x1,x2; printf("For "ax2+bx+c=0"nPlease input a : "); scanf("%lf",&a); printf("Please input b : "); scanf("%lf",&b); printf("Please input c : "); scanf("%lf",&c); if(b * b - 4 * a
輸入else
#include #include void main(){float a,b,c,dlt;scanf("%f%f%f",&a,&b,&c);if(a){dlt=b*b-a*c*4;if(dlt>0)printf("x1=%.2fnx2=%.2f",(-b+sqrt(dlt))/(a*2),(-b-sqrt(dlt))/(a*2));else if(dlt
cout<<"this question does not hava a real answer"<
int GetRoot(float a, float b, float c ,double* root){ double delta, deltasqrt ; delta = b* b - 4*a*c ; if(delta
}
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
C語(yǔ)言編程 解一元二次方程
M宏不需要開(kāi)方,delta只是b*b-4*a*c,如果它大于等于0,再開(kāi)方才有意義.變量也應(yīng)該使用浮點(diǎn)數(shù)類型,修改如下:
//---------------------------------------------------------------------------
#include<stdio.h>
#include<math.h>
#define M (b*b-4*a*c) /*注意這里*/
main()
{double a,b,c,x1,x2; /*注意這里*/
printf("請(qǐng)輸入方程的三個(gè)系數(shù):");
scanf("%lf,%lf,%lf",&a,&b,&c); /*注意這里*/
if (M>0)
{ x1=(-b+sqrt(M))/(2*a); /*注意這里*/
x2=(-b-sqrt(M))/(2*a); /*注意這里*/
printf("方程的兩個(gè)根是:\nx1=%lf,x2=%lf\n",x1,x2);/*注意這里*/
}
else if (M==0)
{ x1=-b/(2*a);
printf("方程具有兩個(gè)相等的實(shí)根:x1=x2=%lf\n",x1); /*注意這里*/
}
else
printf("輸入錯(cuò)誤,請(qǐng)重新輸入\n");
}
//---------------------------------------------------------------------------
如何用C語(yǔ)言編寫(xiě)一程序求解一元二次方程的根?
C語(yǔ)言編寫(xiě)一程序求解一元二次方程的根:
#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根為%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程無(wú)實(shí)數(shù)根n");
}
main()
{
float a,b,c;
printf("請(qǐng)輸入a,b,c的值n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}
根據(jù)具體問(wèn)題類型,進(jìn)行步驟拆解/原因原理分析/內(nèi)容拓展等。
具體步驟如下:/導(dǎo)致這種情況的原因主要是。
用C語(yǔ)言編寫(xiě)求一元二次方程根的程序
用C語(yǔ)言編寫(xiě)求一元二次方程根的程序,條件判斷的充分,步驟如下:
void main()
{
float a,b,c,delta;
scanf("%f%f%f",&a,&b,&c);
if(a!=0)
{
delta=b*b-4*a*c;
if(delta==0)
printf("x1=x2=%7.2f",-b/(2*a));
else if(delta>0)
{
printf("x1=%7.2f",(-b+sqrt(delta))/(2*a));
printf("x2=%7.2f",(-b-sqrt(delta))/(2*a));
}
else
{
printf("x1=%7.2f+i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
printf("x2=%7.2f-i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
}
}
else if(b!=0)
printf("x=%7.2f",-c/b);
else if(c==0)
printf("0=0,x為任意解
");
else
printf("%f=0,error!",c);
}
求一元二次方程ax2+bx+c=0的解。a,b,c為任意實(shí)數(shù)。c語(yǔ)言編程
#include<stdio.h>
#include<math.h>
int main(void){
double a,b,c;
double x1,x2,x,t,p,q
printf("輸入一元二次方程的系數(shù)a,b,c:");
scanf("%lf %lf %lf",&a,&b,&c);
t=b*b-4*a*c;
if(a==0&&b==0&&c==0)
printf("方程無(wú)窮解!n");
if(a==0&&b==0&&c!=0)
printf("方程無(wú)解!n");
if(a==0&&b!=0){
x=-c/b;
printf("方程有一個(gè)根:x=%.2fn",x);
}
if(a!=0&&b!=0){
if(t==0){
x=-b/(2*a);
printf("方程有兩個(gè)相同的實(shí)根:x1=x2=%.2fn",x);
}
if(t>0){
x1=(-b+sqrt(t))/(2*a);
x2=(-b-sqrt(t))/(2*a);
printf("方程有兩個(gè)不同實(shí)根:x1=%.2f x2=%.2fn",x1,x2);
}
if(t<0){
p=(-b)/(2*a);
q=sqrt(-t)/(2*a);
printf("方程有兩個(gè)不同虛根:x1=%.2f+%.2fi x2=%.2f-%.2fin",p,q,p,q);
}
}
return 0;
}
擴(kuò)展資料
main()
{
float a,b,c;
x09float temp;//計(jì)算b*b-4*a*c
x09float num;//開(kāi)根號(hào)
x09float x1,x2;//方程的根
x09printf("Enter a,b,c:");
x09scanf("%f %f %f",&a,&b,&c);
x09temp=b*b-4*a*c;
x09num=sqrt(temp);
x09if(temp>0) //兩個(gè)不同實(shí)根
x09{
x09x09x1=(-b+num)/(2*a);
x09x09x2=(-b-num)/(2*a);
x09x09printf("x1=%0.2f,x2=%0.2fn",x1,x2);//保留兩位輸出
x09}
x09if(temp==0)//一個(gè)相同實(shí)根
x09{
x1=x2=(-b)/(2*a);
printf("x1=x2=%0.2fn",x1);//保留兩位輸出
x09}
x09if(temp
參考資料:百度百科 c語(yǔ)言
百度百科 一元二次方程
一元二次方程求根的C語(yǔ)言程序代碼
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,d,x1,x2; /*sqrt要求用double型,定義用double,另外double和后面變量之間要有空格*/
printf("請(qǐng)輸入系數(shù)a、b、c:");
scanf("%lf%lf%lf",&a,&b,&c); /*&b和&c之間要有逗號(hào)*/
d=b*b-4*a*c;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.2lfnx2=%.2lfn",x1,x2); /*輸出用%lf*/
}
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com