1. c語言一元二次方程求解
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,x,x1,x2;//應該為浮點數。
printf("請輸入:");
scanf("%f%f%f",&a,&b,&c);//1,輸入一起改為浮點數個數輸入。2,輸入最好別用非空格符',' 不然將限制你輸入格式。
a*x*x+b*x+c==0;//不應該賦值運算符。
if(a==0)
printf("此方程不是二次方程\n");//沒有格式輸出符就不應該有參數。
else if(b*b-4*a*c==0)
printf("此方程有兩相等實根,根為:%f.\n",x=b/(2*a));//有參數應該有格式輸出符。
else if(b*b-4*a*c>0)
printf("此方程有兩不相等實根,根為:%f,%f.\n",x1=(-b+sqrt(b*b-4*a*c))/(2*a),x2=(-b-sqrt(b*b-4*a*c))/(2*a));//同上
else if(b*b-4*a*c<0)
printf("此方程有兩共軛復根,實部:%f,虛部:%f.\n",-b/(2*a),sqrt(-(b*b-4*a*c))/(2*a));//1,同上。2,參數應為表達式。
}
如果還有其他的錯,那就是演算法的錯了。
2. 怎樣用C語言編一個解一元二次方程的程序(可以看步驟)!
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, b, c; //定義一元二次方程的三個數值;
printf("請依次輸入一元二次方程的三個參數a b c,中間以空格隔開\n");
scanf("%d %d %d", &a, &b, &c); //依次輸入一元二次方程的三個參數
double delta = b*b - 4*a*c; //定義delta的值為b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta>0) //delta大於0時,方程有兩個解
{
printf("一元二次方程有兩個解\n");
printf("一元二次方程的第一個解,x1 = %f\n",x1);
printf("一元二次方程的第二個解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等於0,方程有兩個相同的解
{
printf("一元二次方程有兩個相同的解\n");
printf("一元二次方程的解為x1 = x2 =%f\n",x1);
}
else //delta小於0時,方程沒有解
{
printf("一元二次方程沒有解\n");
}
return 0;
}
3. c語言求解一元二次方程
#include<stdio.h>
#include<math.h>
intmain()
{inta,b,c;
floatx,x1,x2,d;
scanf("%d%d%d",&a,&b,&c);
d=b*b-4*a*c;
if(a==0)
{if(b==0)
{
printf("Inputerror! ");}
else
printf("x=%.6f",-c/(float)b);//轉為float類型。
}
else
{
if(d<0)
{x1=(-b+sqrt(-d))/(2*a);
x2=(-b-sqrt(-d))/(2*a);
printf("x1=%.6f+%.6fi x2=%.6f-%.6fi ",(float)(-b)/(2*a),sqrt(-d)/(2*a),(float)(-b)/(2*a),sqrt(-d)/(2*a));}//這里少了一個(-b)另外兩個int操作轉為float
elseif(d==0)
{printf("x1=x2=%.6f ",(-b)/(2.0*a));}//缺));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.6f x2=%.6f",x1,x2);
}
}
}
4. c語言求解一元二次方程
intmain()
{
inta,b,c,d;
floatx1,x2;
scanf("%d%d%d",&a,&b,&c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
printf("Inputerror! ");
}
else
printf("x=%.6f",-c/b);
}
else
{
if(d<0)
printf("Inputerror! ");
elseif(d==0)
printf("x1=x2=%.6f",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.6f x2=%.6f ",x1,x2);
}
}
return0;
}
5. c語言 算一元二次方程
//只一處有錯,還有一個注意輸入格式.
#include<stdio.h>
#include<math.h>
int main()
{
double p,q,x1,x2,disc,a,b,c;
scanf("%lf,%lf,%lf",&a,&b,&c);//特別注意:此處要求輸入時a,b,c(三個數)之間用逗號隔開,而不是空格!
disc=b*b-4*a*c;
if(disc>0)
{
p=-b/(2.0*a);
q=(sqrt(disc))/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%lf\tx2=%lf",x1,x2);
}
else if(disc=0)//只有此處有錯,關系表達式的等於符號是"==",此句改為else if(disc==0);即可
{
p=-b/(2.0*a);
x1=p;
printf("x1=x2=%lf",x1);
}
else if(disc<0)
{
disc=-disc;
p=-b/(2.0*a);
q=(sqrt(disc))/(2.0*a);
printf("x1=%lf+%lfi\n",p,q);
printf("x2=%lf-%lfi\n",p,q);
}
return 0;
}
6. 怎樣用C語言編一個解一元二次方程的程序
這個只能計算已經化簡成aX^2+bX+c=0的一元二次方程
intfun(doublea,doubleb,doublec,double*x1,double*x2)//由於方程既可能無解也可能有兩個解,所以不能直接返回X的值
{
doublep=b*b-4*a*c;//計算Δ
if(p<0)
{
return0;//方程無解,返回0
}
p=√p//求Δ的平方根
*x1=……//用求根公式計算X1
*x2=……//用求根公式計算X2
return1;//方程有解,返回1
}
就這些了,求根公式和求平方根函數我忘了,你自己查一下。頭文件要加一個<math.h>。
7. 用C語言求解一元二次方程
#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c,d,x1,x2;
while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
{
d=b*b-4*a*c;
if(d<0)
{
printf("無解 ");
}
elseif(d==0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("%.2lf%.2lf ",x1,x2);
}
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
if(x1>x2)
{
printf("%.2lf%.2lf ",x1,x2);
}
elseif(x1<x2)
{
printf("%.2lf%.2lf ",x2,x1);
}
}
}
return0;
}
8. C語言編程 解一元二次方程
#include<stdio.h>
main()
{int a,b,c,x1,x2,M,n;
printf("請輸入方程的三個系數:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);n=a*c;
M=b*b-4*n;
printf("%d\n",M);if (M>0)
{ x1=(-b+M)/(2*a);
x2=(-b-M)/(2*a);
printf("方程的兩個根是:\nx1=%d,x2=%d\n",x1,x2);
}
else if (M==0)
{ x1=-b/(2*a);
printf("方程具有兩個相等的實根:x1=x2=%d\n",x1);
}
else
printf("輸入錯誤,請重新輸入\n");
}
9. c語言解一元二次方程是什麼
#include<iostream> 。
#include<cmath>。
usingnamespacestd。
intmain()。
{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個實根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;} 。
else。
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個虛根:"。
cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl;}。
return0。
成立條件:
一元二次方程成立必須同時滿足三個條件:
①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。
②只含有一個未知數。
③未知數項的最高次數是2。
10. c語言一元二次方程編程是怎麼樣的
c語言一元二次方程編程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可採用直接開平方的方法解一元二次方程.如果方程化成x²=p的形式,那麼可得x=±p;(x²=p,x=±根號p)如果方程能化成(nx+m)=p(p≥0)的形式,那麼nx+m=±p。
簡潔的語言:
C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。
實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
提供的控制語句具有結構化特徵,如for語句、if...else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。