改成這樣就對(duì)了。三個(gè)函數(shù)定義出現(xiàn)了不少語(yǔ)法錯(cuò)誤。定義三個(gè)函數(shù)來(lái)對(duì)待delta的不同情況。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),杭錦企業(yè)網(wǎng)站建設(shè),杭錦品牌網(wǎng)站建設(shè),網(wǎng)站定制,杭錦網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,杭錦網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
#include"stdio.h"http://這個(gè)別忘了
#include"math.h"
float x1,x2,disc,p,q;
void greater_than_zero(float a,float b);//函數(shù)無(wú)返回值,float放這 里
//x1,x2是全局變量,在函數(shù)內(nèi)賦值即可
{ //括號(hào)別丟
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
}
void equal_to_zero(float a,float b)//也無(wú)返回值
{
x1=x2=(-b)/(2*a);
}
void smaller_than_zero(float a,float b)
{
p=-b/(2*a); //p、q也是全局變量
q=sqrt(disc)/(2*a);
}
void main()
{
float a,b,c;
printf("輸入a,b,c:\n")
scanf("%f,%f,%f",a,b,c);
printf("\n 方程:%5.2f*x+%5.2f=0\n",a,b,c);
disc=b*b-4*a*c;//一元二次方程的delta
printf("方程的解是:\n");
if(disc0) //判斷delta是否小于0,如果大于0
{
great_than_zero(a,b);
printf("x1=%5.2f\tx2=%5.2f\n\n",x1,x2);
}
else if(disc0) //delta小于0,復(fù)根
{
small_than_zero(a,b,c)
printf("x1=%5.2f+%5.2f\tx2=%5.2f-%5.2fi\n",p,q,p,q);
}
else//等于0,有等根
{
equal_to_zero(a,b);
printf("x1=%5.2f\tx2=%5.2f\n\n",x1,x2);
}
}//結(jié)束
如果跟為復(fù)根且b等于0,那x1就成了-0.00。最后一個(gè)else內(nèi)改為:
x1?=?-?b?/?(2?*?a);
x2?=?sqrt(-delt)?/?(2?*?a);
x2?=?(x2??0)???x2?:?-x2;
if(b!=0)
{
printf("%.2f+%.2fi\n",?x1,?x2);
printf("%.2f-%.2fi\n",?x1,?x2);
}
else
{
printf("0.00+%.2fi\n",x2);
printf("0.00-%.2fi\n",x2);
}
#include "stdio.h"
#include "math.h"
int main(void)
{int a,b,c;
double d,e,f;
scanf("%d %d %d",a,b,c);
d=a, e=b, f=c;
if (a==0)
if (b==0)
{printf("非法方程,請(qǐng)重新輸入a,b,c“);
scanf("%d %d %d",a,b,c);d=a, e=b, f=c;}
else
if (b*b-4*a*c==0)
printf("x1=x2=%.6f\n",0-e/(2*d));
else
if (b*b-4*a*c0)
printf("x1=%.6f\nx2=%.6f\n",(-e+sqrt(e*e-4*d*f))/(2*d),(-e-sqrt(e*e-4*d*f))/(2*d));
else
{
【5】;
【6】
printf("x1=%.6f+%.6fi\nx2=%.6f+%.6fi\n",-e/(2*d),sqrt(4*d*f-e*e)/(2*d),-e/(2*d),-sqrt(4*d*f-e*e)/(2*d));
}
5,6沒(méi)法填
#includestdio.h
#includemath.h
int main ()
{
double a,b,c,d,p;
printf("請(qǐng)輸入a,b,c 的值:");
scanf("%lf%lf%lf",a,b,c);
if(a==0)
printf("不是二次方程");
else
{
d=b*b-4*a*c;
if(d==0)
{
printf("有兩個(gè)相等的根\nx=%7.2lf\n",-b/(2*a));
}
if (d0)
{
printf("有兩個(gè)不相等的根\nX1=%7.2lf\nX2=%7.2lf\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
}
if(d0)
{
p=sqrt(-d/(2*a));
printf("有兩個(gè)共軛復(fù)根\nX1=%7.2lfi-%7.2lf\nX2=%7.2lfi-%7.2lf\n",p,b/2,-p,b/2);
}
}? ? ?
return 0;
}
擴(kuò)展資料:
scanf函數(shù)用法:
scanf("輸入控制符",輸入?yún)?shù));
功能:將從鍵盤(pán)輸入的字符轉(zhuǎn)化為“輸入控制符”所規(guī)定格式的數(shù)據(jù),然后存入以輸入?yún)?shù)的值為地址的變量中。
用scanf()函數(shù)以%s格式讀入的數(shù)據(jù)不能含有空白符時(shí),所有空白符都被當(dāng)做數(shù)據(jù)結(jié)束的標(biāo)志。所以題中函數(shù)輸出的值只有空格前面的部分。
如果想要輸出包括空格在內(nèi)的所有數(shù)據(jù),可以使用gets()函數(shù)讀入數(shù)據(jù)。gets()函數(shù)的功能是讀取字符串,并存放在指定的字符數(shù)組中,遇到換行符或文件結(jié)束標(biāo)志時(shí)結(jié)束讀入。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為字符串結(jié)束標(biāo)志'\0'。
#include?iostream
#include?cmath
using?namespace?std;
int?main()
{float?a,b,c;float?x1,x2; cinabc;float?dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
couta"x^2+"b"x+"c"=0有兩個(gè)實(shí)根:";cout"x1="x1",x2="x2endl;}
else
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;couta"x^2+"b"x+"c"=0有兩個(gè)虛根:"。
cout"x="x1"+/-"x2"i"endl;}
return?0。
擴(kuò)展資料:
成立條件:
一元二次方程成立必須同時(shí)滿(mǎn)足三個(gè)條件:
①是整式方程,即等號(hào)兩邊都是整式,方程中如果有分母;且未知數(shù)在分母上,那么這個(gè)方程就是分式方程,不是一元二次方程,方程中如果有根號(hào),且未知數(shù)在根號(hào)內(nèi),那么這個(gè)方程也不是一元二次方程(是無(wú)理方程)。
②只含有一個(gè)未知數(shù);
③未知數(shù)項(xiàng)的最高次數(shù)是2。
參考資料來(lái)源:百度百科-c語(yǔ)言
藍(lán)色的那一句,1條語(yǔ)句,3個(gè)錯(cuò)誤。
1、d0時(shí),sqrt(d)無(wú)意義,應(yīng)該是sqrt(-d)
2、i不是變量
3、2*a應(yīng)該加括號(hào)括起來(lái)。
語(yǔ)句修改為:
printf("x1=%.2f+%.2fi,x2=%.2f-%.2fi",p,sqrt(-d)/(2*a),p,sqrt(-d)/(2*a));
另外,你對(duì)p的求解也是錯(cuò)的,應(yīng)該是p=-b/(2*a)
2*a應(yīng)該用括號(hào)括起來(lái)。
當(dāng)前標(biāo)題:c語(yǔ)言函數(shù)復(fù)根 c語(yǔ)言共軛復(fù)根
文章來(lái)源:http://vcdvsql.cn/article18/hpihgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)