求根公式c語言
① c語言一元二次方程求根公式代碼不知哪裡出錯了,運行輸入數字後程序中止,請各位大佬指正!
注意一元二次方程中a不可能為零,個人認為不需要進行判別;
② c語言寫的求根公式,編譯時沒報錯,但是連接時候報錯了,求解,新人
//給你個邏輯更嚴密的供參考
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d;
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("恆等式:0+0+0=0\n");
}
else
{
printf("輸入錯誤,不能構成等式!\n");
}
}
else
{
printf("只能構成一元一次方程,x=%.2lf\n",0==-(double)c/b ? 0 : -(double)c/b);
}
}
else
{
d=b*b-4*a*c;
if(d<0)
{
printf("x1=%.2lf+%.2lfi\nx2=%.2lf-%.2lfi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.2lf\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
}
return 0;
}
③ C語言求根公式,大家能幫我看下有什麼錯誤嗎謝謝
應該說沒有錯誤,只是輸入必須嚴格按照格式:
a=1,b=2,c=-3 回車
其中除了數字之外,別的都不能改,而且還得保證方程有實數根。
④ 求根公式的c語言表達式是什麼
求根公式的c語言程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,,a,b,c
float deta;
scanf("%f,%f,%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta<0)
{
printf("方程無解");
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("x1=%f,x2=%f",x1,c2);
}
return 0;
}
⑤ c語言里 一元二次方程求根公式怎麼寫
#include<stdio.h>
#include<math.h>
intmain()
{
floata,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);//輸入三個系數
d=b*b-4*a*c; //計算判別式
if(d<0)printf("無實數根! ");
elseif(d==0)printf("有兩個相等的實數根,x1=x2=%g ",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%g x2=%g ",x1,x2);
}
}
⑥ c語言,求根公式
你的if語句那的括弧有問題
#include<stdio.h>
#include<math.h>
intmain(){
doublea,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);
if(a==0){
if(b==0){
if(c==0)
printf("該式為恆等式 ");
else
printf("該式不成立,請重新輸入a,b,c ");
}else{
x1=c/b;
printf("x1=x2=%f ",x1);
}else
d=b*b-4*a*c;
if(d<0){
d=-d;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f,虛根 ",x1,x2);
}else{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);
}
return0;
}
⑦ C語言關於求根公式的簡單問題
錯誤:if((b*b==4*a*c),將if後邊的括弧去掉一個;
這樣之後,程序在VC6下編譯通過,不過運行有錯,必須要對float變數初始化一下,不然會全部是零;修改如下:
#include<stdio.h>
#include<math.h>
void main()
{
float a=1.111,b=0.0,c=0.0,d=0.0,q=0.0;//x1,x2,d,q,w,r;
printf("Please input the three coefficients:");
fflush(stdin);
scanf(" %f",&a);
scanf(" %f",&b);
scanf(" %f",&c);
printf("%fx*x+%fx+%f=0 \n",a,b,c);
d=sqrt(b*b-4*a*c);
if(b*b==4*a*c)
{
q=(-b)/2/a;
printf("x1=x2=q\n",b,a);
}
else if(b*b>4*a*c)
{
//printf("w=(-%f+%f)/2/%f,r=(-%d-%d)/2/%d\n",b,d,a,b,d,a);
printf("x1=%f \n x2=%f \n",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
}
else
printf("There is no real root.\n");
}
你後邊那個問題,其實如果近似解的話,可以照我上邊寫法,如果一定要是分數,7/8/2可以寫成7/(8*2),也就是將w=(-%f+%f)/2/%f改成:w=(-%f+%f)/(2*%f);
試試嘍;
⑧ C語言求方程ax2+bx+c=0的根。
利用類的形式刻畫一元二次方程:
採用一元二次方程根特性 對2次系數a和delta進行判斷 進而得出根的三種情:
#include<iostream>
#include<cmath>
using namespace std。
支持繼承和重用:
在C++現有類的基礎上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結構,明確類間關系,並且充分利用已有的類來完成更復雜、深入的開發。新定義的類為子類,成為派生類。它可以從父類那裡繼承所有非私有的屬性和方法,作為自己的成員。
(8)求根公式c語言擴展閱讀:
工作原理:
C++語言的程序因為要體現高性能,所以都是編譯型的。但其開發環境,為了方便測試,將調試環境做成解釋型的。即開發過程中,以解釋型的逐條語句執行方式來進行調試,以編譯型的脫離開發環境而啟動運行的方式來生成程序最終的執行代碼。
生成程序是指將源碼(C++語句)轉換成一個可以運行的應用程序的過程。如果程序的編寫是正確的,那麼通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。
⑨ C語言二次方程的求根公式
浮塵說的不錯,但是需要判斷一下b*b-4ac的值。b*b-4ac>0,有2個不相等的實根,b*b-4ac=0,有2個相等的實根,b*b-4ac<0則無實根,有2個虛根
⑩ 用C語言做,求根公式。要求虛數解。怎麼做求大神
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,,a,b,c
float deta;
scanf("%f,%f,%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta<0)
{
printf("方程無解");
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("x1=%f,x2=%f",x1,c2);
}
return 0;
}